home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / os2 / pmp41c.zip / PMPATROL.HLP (.txt) < prev    next >
OS/2 Help File  |  1996-04-30  |  150KB  |  5,479 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. License Information ΓòÉΓòÉΓòÉ
  3.  
  4.                                   PM Patrol(tm)
  5.  
  6. (c) Copyright 1993-96, WallyWare, All rights reserved.
  7.  
  8. Unregistered copies of PM Patrol are freely distributable and copying is 
  9. encouraged. If you like it, tell a friend. If not, tell us. 
  10.  
  11. PM Patrol is supplied "as is" without any warranties either expressed or 
  12. implied. 
  13.  
  14. IN NO EVENT WILL WALLYWARE BE LIABLE TO YOU FOR ANY INCIDENTAL, SPECIAL, 
  15. PUNITIVE, EXEMPLARY, OR CONSEQUENTIAL DAMAGES ARISING FROM OR CONNECTED WITH 
  16. THIS AGREEMENT OR USE OF THIS PRODUCT, REGARDLESS WHETHER WE KNOW OR HAVE 
  17. REASON TO KNOW OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES MAY NOT ALLOW 
  18. EXCLUSION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES AND SO THE FOREGOING EXCLUSION 
  19. MAY NOT APPLY TO YOU. 
  20.  
  21. The version of PM Patrol is distributed under a Software License Agreement 
  22. which is included with this version of PM Patrol and available for preview 
  23. without registration required. 
  24.  
  25. If you have any questions about your rights or responsibilities concerning the 
  26. use of this product please contact: 
  27.  
  28. WallyWare
  29. 2210 Kingston Drive
  30. Wheaton, Illinois  60187  USA
  31.  
  32. Internet EMail:  wally@interaccess.com
  33. CompuServe EMail: 72702,2320
  34. Phone:       1-708-510-7412 (1-630-510-7412 after 7/96)
  35. Fax:        1-708-690-8893 (1-630-690-8893 after 7/96)
  36.  
  37.  
  38. ΓòÉΓòÉΓòÉ 2. Introduction ΓòÉΓòÉΓòÉ
  39.  
  40.                                   PM Patrol(tm)
  41.  
  42. PM Patrol is robust, yet easy to use resource monitoring and management 
  43. software for OS/2 version 2.1+ and all versions of OS/2 Warp. 
  44.  
  45. Allow me to introduce PM Patrol and describe some quick-hits to help you get 
  46. going.  This introduction is brief, but important. 
  47.  
  48. You can ALWAYS get the latest version of PM Patrol from our WallyWare Internet 
  49. Web site at http://homepage.interaccess.com/~wally and send Internet EMail to 
  50. wally@interaccess.com. 
  51.  
  52. To identify the current version, the licensed name, and serial number for this 
  53. copy of PM Patrol, refer to "Product Information" accessable from several PM 
  54. Patrol menus. The serial number is necessary when seeking technical support 
  55. from WallyWare. 
  56.  
  57. PM Patrol is designed to run all the time, from bootup to shutdown. Always 
  58. visible and accessible, PM Patrol offers quick access to many different 
  59. monitors and related utilities; Helping You Manage the Power of OS/2 
  60.  
  61. PM Patrol allows you to monitor and track several different resources of your 
  62. OS/2 system. These resources are presented to you in a very unintrusive and 
  63. meaningful display providing you insight into current system activities. 
  64.  
  65. The appearance of PM Patrol has maintained the attitude that this tool should 
  66. be visible, yet not use valuable desktop space. In order to accomplish this, PM 
  67. Patrol provides a Status Line at the bottom of your screen which displays the 
  68. monitors you have selected. In most cases, not all monitors can fit on the 
  69. Status Line - as expected. But, you can change the font of the Status Line so 
  70. that more information can fit in. Also, some of PM Patrol's other monitor 
  71. windows, besides the Status Line, concentrate on categories of resources in 
  72. OS/2 (ie. Memory). Therefore, you don't necessarily want or need everything on 
  73. the Status Line. Only those items you want to see all the time. 
  74.  
  75. PM Patrol has a broad appeal. The information PM Patrol provides is valuable to 
  76. a number of audiences including novices, heavy users, and software engineers 
  77. and developers. Some PM Patrol monitors and utility items are geared more 
  78. toward software developers, but the majority of PM Patrol is valuable to 
  79. anyone. 
  80.  
  81. PM Patrol is feature rich. For a complete description of PM Patrol features and 
  82. details, refer to Features and Product Information sections of this on-line 
  83. help. To see how PM Patrol compares to other OS/2 resource monitor software, 
  84. refer to the online help section "Comparative Matrix" also under Product 
  85. Information. 
  86.  
  87. Packaged with PM Patrol are several OS/2 32-bit Command Line utilities. These 
  88. utilities complement the PM Patrol personality and are described in detail in 
  89. the "Command Line Utilities" section of this on-line help. 
  90.  
  91. The on-line help describes all facets of PM Patrol. Whenever you are in the PM 
  92. Patrol on-line help, you can always view the Table of Contents by selecting 
  93. "Contents" under the "Options" menu item. 
  94.  
  95. The on-line help contains a section called "Trouble Shooting". If you ever 
  96. experience difficulties or potential problems with PM Patrol, refer to this 
  97. section of on-line help. It discusses topics of potential difficulty, 
  98. compatibility, and idiosyncrasies of PM Patrol features. Everyone should read 
  99. this section. 
  100.  
  101. Another on-line help section called "Support", provides basic support 
  102. information for PM Patrol. 
  103.  
  104. To help you get going with PM Patrol right now, the following itemizes 
  105. quick-hit topics: 
  106.  
  107.    1. PM Patrol provides 2 quick ways of getting around. Place the mouse 
  108.       pointer on the PM Patrol Status Line. If the Status Line is located at 
  109.       the bottom of the desktop screen, the mouse pointer changes to let you 
  110.       know your're "talking" to PM Patrol. Otherwise, the mouse pointer remains 
  111.       the same. The left mouse button acts different than the right. 
  112.  
  113.    2. From the PM Patrol Status Line, double clicking the left mouse button 
  114.       invokes the PM Patrol "Options" dialog. This dialog allows you to select 
  115.       and/or change PM Patrol Status Line monitors, configuration settings, 
  116.       color and font settings, various OS/2 system settings, and provides an 
  117.       alternative method for accessing PM Patrol "Utility" items. 
  118.  
  119.    3. From the PM Patrol Status Line, single clicking the right mouse button 
  120.       invokes the PM Patrol "Utility" popup menu. After you configure PM Patrol 
  121.       to your personal preferences, this "Utility" popup menu will typically 
  122.       become the primary access method to PM Patrol features. 
  123.  
  124.    4. The PM Patrol icon in the "Utility" popup menu invokes the Table of 
  125.       Contents for PM Patrol help. 
  126.  
  127.    5. When invoked, the "Utility" popup menu is intelligent based on the 
  128.       location of the mouse pointer within the PM Patrol Status Line: 
  129.  
  130.         a. If the mouse pointer is within 1 inch of the LEFT side of the Status 
  131.            Line (leftmost 1 inch on VGA), the Utility popup menu will 
  132.            automatically display the PM Patrol Program List for quick access to 
  133.            your favorite programs. 
  134.  
  135.         b. Similarly, if the mouse pointer is within 1 inch of the RIGHT side 
  136.            of the Status Line, the Utility popup menu will automatically 
  137.            display the PM Patrol Desktop List for quick access to commonly used 
  138.            OS/2 WorkPlace Shell folders. 
  139.  
  140.         c. Otherwise, the Utility popup menu is displayed with the default menu 
  141.            item being PM Patrol Process Monitor option. 
  142.  
  143.  From all of us at WallyWare, Thank you for choosing PM Patrol and enjoy... 
  144.  
  145.  
  146. ΓòÉΓòÉΓòÉ 3. Hardware/Software Requirements ΓòÉΓòÉΓòÉ
  147.  
  148. PM Patrol carries the following requirements, some of which are options to PM 
  149. Patrol: 
  150.  
  151.    1. PM Patrol requires IBM OS/2 version 2.1 or higher. 
  152.  
  153.    2. Multmedia features requires IBM MMPM/2 for OS/2 be installed. 
  154.  
  155.    3. Network monitoring features requires IBM LAN Requester be installed on 
  156.       the local workstation. NetWare for OS/2 is not currently supported. 
  157.  
  158.    4. Internet Connect-Time feature requires modem connection using the 
  159.       "Point-to-Point Protocol" (PPP) or "Serial Line IP" (SLIP) of IBM's 
  160.       Internet Access Kit. 
  161.  
  162.    5. PM Patrol's Free Memory algorithm requires a 32-bit disk controller for 
  163.       memory configurations with more than 16 MB. Strict ISA bus architectures 
  164.       found on most 386 class computers are most likely equipped with 16-bit 
  165.       disk controllers. 
  166.  
  167.  
  168. ΓòÉΓòÉΓòÉ 4. Installation ΓòÉΓòÉΓòÉ
  169.  
  170. To install PM Patrol, run the INSTALL.EXE program from the distribution 
  171. diskette. 
  172.  
  173. The PM Patrol installation prompts you for a number of items and will install 
  174. all necessary files into a subdirectory of your choice for the PM Patrol 
  175. program files. 
  176.  
  177. The installation program also asks you if you want to create the OS/2 Desktop 
  178. objects and "shadow" copy  of PM Patrol in your OS/2 "Startup Folder". Refer to 
  179. the OS/2 WorkPlace Shell user guide for any additional help regarding the 
  180. Startup Folder. 
  181.  
  182. If you are using the real-time Data Collection Facility APIs, append the 
  183. installation path used for PM Patrol to the following statements in your 
  184. CONFIG.SYS file: 
  185.  
  186.    1. "LIBPATH" statement for the API DLL (PMPAPI.DLL). 
  187.  
  188.    2. "LIB" statement for the API import library (PMPAPI.LIB). 
  189.  
  190.    3. "INCLUDE" statement for the API C/C++ header (PMPAPI.H). 
  191.  
  192.  If you are using the real-time Debug Facility, append the installation path 
  193.  used for PM Patrol to the following statements in your CONFIG.SYS file: 
  194.  
  195.    1. "LIBPATH" statement for the API DLL (DBUGAPI.DLL). 
  196.  
  197.    2. "LIB" statement for the API import library (DBUGAPI.LIB). 
  198.  
  199.    3. "INCLUDE" statement for the API C/C++ header (DBUG.H). 
  200.  
  201.  After PM Patrol is installed and the first time you run it, the "Product 
  202.  Information" dialog appears along with the "Product Activation" dialog. This 
  203.  is your opportunity to enter your Name and the Serial number for your copy of 
  204.  PM Patrol. 
  205.  
  206.  It is VERY important that you enter the Serial number correctly. If you make a 
  207.  mistake, select "Register" from the "Product Information" dialog and try 
  208.  again. Once entered, this information is saved. 
  209.  
  210.  Note:  If you want to move PM Patrol to another machine, repeat the 
  211.  installation process along with entering your Name and Serial number again. 
  212.  
  213.  PM Patrol contains a few STARTUP command line options: 
  214.  
  215.    1. "-Q" is used to omit the PM Patrol logo window at startup. When 
  216.       specified, the little PM Patrol logo window at startup will NOT be 
  217.       displayed. 
  218.  
  219.    2. "-H" is used to start PM Patrol in a HIDDEN state. This is advantageous 
  220.       for some users - particularly when the user is only interested in the DCF 
  221.       component. Use the OS/2 Window List to "unhide" the window. This also 
  222.       lends itself to workstations which are used exclusively for real-time 
  223.       operations and/or data acquisition and wish to use the Logger component 
  224.       of PM Patrol. When enabled, any selected Auto-Start monitor windows in PM 
  225.       Patrol (ie. Memory, Process, Network, etc.) will not be started - with 
  226.       the exception of auto-starting the Debug or Logging facilities. These two 
  227.       items, if selected to auto-start, will be started as usual. 
  228.  
  229.    3. "-S" is used to start PM Patrol in SECURED state. When enabled, PM Patrol 
  230.       does not appear in the OS/2 Window List and is not able to be "killed". 
  231.       The user MUST close PM Patrol via the normal PM Patrol mechanism. 
  232.       "Secured" mode is provided primarily to complement the PM Patrol password 
  233.       security offered. 
  234.  
  235.    4. "-W" is used to keep PM Patrol windows from appearing in the OS/2 Window 
  236.       List. This is an alternative option to "-S" but acts only on Window List 
  237.       access. 
  238.  
  239.    5. "-C" can be used to put PM Patrol in a "time critical" priority class for 
  240.       a high level of responsiveness. By default, the main PM Patrol thread 
  241.       operates in a "foreground" priority class and is adequate for most 
  242.       systems. Where PM Patrol and it's DCF readings require absolute timing, 
  243.       this option can be used. Typically, this option lends itself to 
  244.       workstations used for real-time purposes or benchmarking applications 
  245.       which are CPU intensive. Using this startup option may be too aggressive 
  246.       for low-end systems (i386 or most SX CPUs). Furthermore, where seamless 
  247.       DOS+Windows programs are used often, this startup option should be 
  248.       avoided due to the nature of performance issues associated with VDMs 
  249.       (Virtual DOS Machines) under OS/2. 
  250.  
  251.    6. "-P" is used when you wish to disable the PM Patrol Port Monitoring 
  252.       facility. By default, this option is enabled. When disabled, absolutely 
  253.       no port monitoring is performed and this features within PM Patrol is 
  254.       made inaccessible. 
  255.  
  256.  When both HIDDEN and SECURED are enabled, these two parameters cause PM Patrol 
  257.  to operate in complete detached mode and 100% secured from user interaction 
  258.  and intervention. This mode of operation lends itself to LAN administrators 
  259.  and real-time operations who wish to monitor workstations using the DCF and 
  260.  Network components of PM Patrol without involving the workstation user. 
  261.  
  262.  
  263. ΓòÉΓòÉΓòÉ 4.1. Uninstall ΓòÉΓòÉΓòÉ
  264.  
  265. To Uninstall PM Patrol from your system: 
  266.  
  267.    1. Exit PM Patrol if currently active. 
  268.  
  269.    2. Delete the PM Patrol folder from the OS/2 Desktop. 
  270.  
  271.    3. If you selected PM Patrol to startup automatically via the OS/2 desktop 
  272.       "Startup" folder, then delete the program object from this folder as 
  273.       well. 
  274.  
  275.    4. Delete the PM Patrol directory (i.e. C:\PMP) and all the files within the 
  276.       directory. 
  277.  
  278.  Note:  PM Patrol does not modify your CONFIG.SYS file. Unless you make changes 
  279.  to your CONFIG.SYS to use PM Patrol's programming APIs, there are no 
  280.  modifications necessary to CONFIG.SYS for removing PM Patrol. 
  281.  
  282.  
  283. ΓòÉΓòÉΓòÉ 5. Order and Pricing ΓòÉΓòÉΓòÉ
  284.  
  285. Thank you for choosing PM Patrol. You may order by credit card, check or money 
  286. order, SWREG via Compuserve, or via purchase order. VISA, American Express, 
  287. Mastercard, and Discover are welcome. Corporate site licenses available and 
  288. negotiated based on quantity. 
  289.  
  290. PM Patrol pricing is $29 for a single copy, $15 for the upgrade (from versions 
  291. 2.x/3.x), $110 for a 5-Pack, and $400 for a 25-Pack. All pricing represented in 
  292. US dollars. 
  293.  
  294. Once you order PM Patrol, you will be sent via EMail or Air Mail a product 
  295. serial number to use with PM Patrol. When you receive the serial number, enter 
  296. it into the PM Patrol Product Registration window. This is accessed from PM 
  297. Patrol's Product Information dialog window. Enter your name or company name 
  298. along with the serial number provided. 
  299.  
  300. Several registration methods are described below. Please use the one most 
  301. convenient for you. 
  302.  
  303. ===============================================================
  304. Ordering via Purchase Order
  305. ===============================================================
  306. Mail, EMail, or Fax a purchase order along with the bill-to
  307. and ship-to address.  An invoice will be sent to the bill-to
  308. address.  Remember to provide a Purchase Order number.
  309.  
  310. If possible, please complete the order form (ORDER.FRM)
  311. included with the PM Patrol product.
  312.  
  313.  Mail:  WallyWare
  314.      2210 Kingston Drive
  315.      Wheaton, IL  60187  USA
  316.  
  317.  EMail:  wally@interaccess.com
  318.  
  319.  Fax:   1-708-690-8893 (1-630-690-8893 after 7/96)
  320.  
  321.  
  322. ===============================================================
  323. Ordering via Check or Money Order
  324. ===============================================================
  325. Complete the following registration form below and send it
  326. along with your payment to:
  327.  
  328.      WallyWare
  329.      2210 Kingston Drive
  330.      Wheaton, IL  60187  USA
  331.  
  332. Product:  PM Patrol for OS/2
  333. Quantity: ___ Single  $29           ___ 5  Pack $110
  334.      ___ Upgrade $15 (from 2.x/3.x)    ___ 25 Pack $400
  335.  
  336. Name:   ____________________________________________________
  337. Address:  ____________________________________________________
  338.      ____________________________________________________
  339. City:   ____________________________________________________
  340. State:   _____  Zip: _________  Country:  __________________
  341.  
  342. Internet Id:    ____________________________________________
  343. CompuServe Id:   ____________________________________________
  344.  
  345. Comments? ____________________________________________________
  346.      ____________________________________________________
  347.  
  348. Where you obtained PM Patrol?  _______________________________
  349.  
  350.  
  351. ===============================================================
  352. Ordering via Compuserve SWREG
  353. ===============================================================
  354. Compuserve members may register PM Patrol via GO SWREG:
  355.  
  356.  PM Patrol (4.x Single Copy)      Registration Id: 8991
  357.  
  358.  PM Patrol (4.x Upgrade Only)      Registration Id: 9016
  359.  Previous registration will be verified by WallyWare. This
  360.  upgrade only applies to registered 2.x and 3.x users.
  361.  
  362.  
  363.  
  364. ===============================================================
  365. Ordering via Credit Card - PsL Service
  366. ===============================================================
  367. MasterCard, Visa, American Express, and Discover orders for
  368. PM Patrol may be placed through PsL, a credit card order taking
  369. and software registration service. Available Monday-Friday.
  370.  
  371.  Voice:  1-800-242-4775 or 1-713-524-6394
  372.      7am -  6pm CST Monday-Thursday
  373.      7am - 12pm CST on Fridays, except holidays.
  374.  Fax:   1-713-524-6398
  375.  
  376.  EMail:  71355.470@compuserve.com
  377.  Mail:  Credit card orders can also be mailed to PsL at:
  378.      P.O. Box 35705, Houston, TX 77235  USA.
  379.  
  380. The following is needed by PsL for credit card order processing.
  381. Be sure to specify your email account if you have one.  PsL
  382. notifies WallyWare within 24 hours after receiving your order so
  383. a PM Patrol product serial number can be generated and sent to
  384. you promptly.
  385.  
  386.  Product Id:     14363 (PM Patrol)
  387.  
  388.  Quantity:      ____ Single  $29     ____  5-Pack $110
  389.            ____ Upgrade $15     ____ 25-Pack $400
  390.  
  391.  Credit Card:     [_] MC  [_] VISA  [_] AMEX  [_] Discover
  392.  Credit Card Number: __________________________________________
  393.  Expiration Date:   __________________________________________
  394.  Name On Card:    __________________________________________
  395.  Billing Address:   __________________________________________
  396.            __________________________________________
  397.            __________________________________________
  398.  
  399.  Internet Id:     __________________________________________
  400.  Compuserve Id:    __________________________________________
  401.  
  402.  
  403. Please note:
  404.  WallyWare CAN NOT be reached at the numbers above.  These
  405.  numbers are for PsL - CREDIT CARD ORDERS ONLY.
  406.  
  407.  Any questions about the status of the shipment of an order,
  408.  refunds, registration options, product details, technical
  409.  support, volume discounts, dealer pricing, site licenses,
  410.  etc., must be directed to WallyWare.
  411.  
  412.  
  413. ===============================================================
  414. Ordering via Credit Card - BMT Micro Service
  415. ===============================================================
  416. MasterCard, Visa, American Express, and Discover orders for
  417. PM Patrol may be placed through BMT Micro, a credit card order
  418. taking and software registration service. Available Monday-Friday.
  419.  
  420.  Voice:  1-800-414-4268 (Monday - Friday)
  421.  Fax:   1-910-350-2937
  422.  EMail:  orderes@bmt.wilmington.net
  423.  
  424. The following is needed by BMT for credit card order processing.
  425. Be sure to specify your email account if you have one. BMT Micro
  426. notifies WallyWare within 24 hours after receiving your order so
  427. a PM Patrol product serial number can be generated and sent to
  428. you promptly.
  429.  
  430.  Product Id:     PM Patrol
  431.  
  432.  Quantity:      ____ Single  $29     ____  5-Pack $110
  433.            ____ Upgrade $15     ____ 25-Pack $400
  434.  
  435.  Credit Card:     [_] MC  [_] VISA  [_] AMEX  [_] Discover
  436.  Credit Card Number: __________________________________________
  437.  Expiration Date:   __________________________________________
  438.  Name On Card:    __________________________________________
  439.  Billing Address:   __________________________________________
  440.            __________________________________________
  441.            __________________________________________
  442.  
  443.  Internet Id:     __________________________________________
  444.  Compuserve Id:    __________________________________________
  445.  
  446.  
  447. Please note:
  448.  WallyWare CAN NOT be reached at the numbers above.  These
  449.  numbers are for BMT Micro - CREDIT CARD ORDERS ONLY.
  450.  
  451.  Any questions about the status of the shipment of an order,
  452.  refunds, registration options, product details, technical
  453.  support, volume discounts, dealer pricing, site licenses,
  454.  etc., must be directed to WallyWare.
  455.  
  456.  
  457. ===============================================================
  458. Receiving your PM Patrol Product Serial Number
  459. ===============================================================
  460. You're Product Serial number is assigned by WallyWare after
  461. purchasing PM Patrol.  After you receive this code, enter it,
  462. (along with your name) in PM Patrol's Product Registration window.
  463.  
  464.  E-Mail shipment:
  465.    For E-Mail users on Internet or Compuserve, your PM Patrol
  466.    product serial number will be sent via email usually within
  467.    24 hours after receipt of your PM Patrol purchase.
  468.  
  469.  Air-Mail shipment:
  470.    For users without email access, WallyWare will send via
  471.    First Class Air mail a 3 1/2 diskette containing the latest
  472.    version of PM Patrol and an invoice with your product serial
  473.    number.  Please allow 5-10 days for shipping.
  474.  
  475.  
  476. PM Patrol is posted on several popular sites.  The following sites
  477. receive uploads of PM Patrol directly from WallyWare.  If you have
  478. a more convenient ftp or download site, let us know.
  479.  
  480. The file name is typically PMPxyz.ZIP where "x" represents the major
  481. release number, "y" represents the minor release number, and "z"
  482. represents an optional fix release as an alphabetic character.
  483. For example, PMP41.ZIP or PMP41a.ZIP.  On Compuserve, the PM Patrol
  484. file will always be called PMPATROL.ZIP.
  485.  
  486.  WWW: http://homepage.interaccess.com/~wally
  487.  WWW: http://www.wilmington.net/bmtmicro
  488.  WWW: http://www.os2.hammer.org/OS2
  489.  FTP: hobbes.nmsu.edu          (/os2/wpsutil)
  490.  FTP: ftp-os2.cdrom.com         (/pub/os2/sysutil)
  491.  BBS: Chicago online OS/2        (1-708-895-4042  8N1)
  492.  BBS: Peter Norloff's OS/2 Shareware   (1-703-385-4325  8N1)
  493.  Compuserve               (OS2BVEN Forum, Shareware Library)
  494.  America Online             (OS/2 Forum)
  495.  
  496. You can ALWAYS get the latest version of PM Patrol from our WEB
  497. site on the internet at http://homepage.interaccess.com/~wally
  498.  
  499. Thank you for choosing PM Patrol.  And, enjoy...
  500. Dave Wallenberg, WallyWare
  501.  
  502. Internet EMail:  wally@interaccess.com
  503. Internet WWW:   http://homepage.interaccess.com/~wally
  504. CompuServe EMail: 72702,2320
  505. Phone:       1-708-510-7412 (1-630-510-7412 after 7/96)
  506. Fax:        1-708-690-8893 (1-630-690-8893 after 7/96)
  507.  
  508.  
  509. ΓòÉΓòÉΓòÉ 6. Support ΓòÉΓòÉΓòÉ
  510.  
  511. Sales and Technical Support for PM Patrol and other WallyWare products are 
  512. available through phone, email, and fax. 
  513.  
  514. In most cases, phone support will require you to leave a message for WallyWare. 
  515. We will return domestic US calls as soon as possible usually within 48 hours. 
  516. Email support can usually count on response within 48 hours. 
  517.  
  518. PM Patrol is posted to and can be downloaded from the following electronic 
  519. repositories. The file name is typically PMPxyz.ZIP where "x" represents the 
  520. major release number, "y" represents the minor release number, and "z" 
  521. represents an optional fix release as an alphabetic character. For example, 
  522. PMP41.ZIP or PMP41a.ZIP. On Compuserve, the PM Patrol file will always be 
  523. called PMPATROL.ZIP. 
  524.  
  525.  WWW: http://homepage.interaccess.com/~wally
  526.  WWW: http://www.wilmington.net/bmtmicro
  527.  WWW: http://www.os2.hammer.org/OS2
  528.  FTP: hobbes.nmsu.edu          (/os2/wpsutil)
  529.  FTP: ftp-os2.cdrom.com         (/pub/os2/sysutil)
  530.  BBS: Chicago online OS/2        (1-708-895-4042  8N1)
  531.  BBS: Peter Norloff's OS/2 Shareware   (1-703-385-4325  8N1)
  532.  Compuserve               (OS2BVEN Forum, Shareware Library)
  533.  America Online             (OS/2 Forum)
  534.  
  535. You can ALWAYS get the latest version of PM Patrol from our WEB
  536. site on the internet at http://homepage.interaccess.com/~wally
  537.  
  538. WallyWare
  539. 2210 Kingston Drive
  540. Wheaton, Illinois  60187  USA
  541.  
  542. Internet:  wally@interaccess.com
  543. CompuServe: 72702,2320
  544. Phone:    1-708-510-7412 (1-630-510-7412 after 7/96)
  545.  
  546.  
  547. ΓòÉΓòÉΓòÉ 7. Product Information ΓòÉΓòÉΓòÉ
  548.  
  549. This section describes what PM Patrol is and what it offers 
  550.  
  551.  
  552. ΓòÉΓòÉΓòÉ 7.1. What is It? ΓòÉΓòÉΓòÉ
  553.  
  554. PM Patrol is robust yet easy to use resource monitoring and management 
  555. software, for OS/2 versions 2.1 and higher. The monitors, frequency of resource 
  556. samples, preferences, size and placement of windows are user selectable 
  557. allowing complete customization. 
  558.  
  559. Always accessible, PM Patrol extends the OS/2 desktop by providing insight into 
  560. current system activities and resource utilization. 
  561.  
  562. The quick-access utility items include a program launcher, program scheduler, 
  563. print/spooler functions, Fast Find, and much more. 
  564.  
  565. The numerous resource monitors that PM Patrol provides can be logged for later 
  566. review or accessed dynamically with the Data Collection Facility APIs. Recorded 
  567. as text, the logged data can be manipulated using tools such as Rexx, AWK, 
  568. GREP, and custom C/C++ programs. 
  569.  
  570. The appearance of PM Patrol has maintained the attitude that the tool should be 
  571. visible, yet not use valuable desktop space. As a result, the main Status Line 
  572. is displayed at the bottom of the display (as default). 
  573.  
  574.  
  575. ΓòÉΓòÉΓòÉ 7.2. Why do I need it? ΓòÉΓòÉΓòÉ
  576.  
  577. PM Patrol offers numerous and intuitive selections for monitoring OS/2 status 
  578. and activities: 
  579.  
  580.    1. Display current Date/Time with optional synchronization to network 
  581.       server. 
  582.  
  583.    2. System up-time for workstation 
  584.  
  585.    3. Internet Connect-Time for workstation (requires IBM's Internet Access 
  586.       Kit). 
  587.  
  588.    4. Network user ID, Domain, server, and network I/O traffic for the 
  589.       workstation 
  590.  
  591.    5. Processes, threads, DLLs, drivers, and shared memory activity 
  592.  
  593.    6. Event monitoring and notification of critical OS/2 resources and 
  594.       thresholds. 
  595.  
  596.    7. CPU activity per Process and Thread in graphical view 
  597.  
  598.    8. Complete drive summary and detail information with graphical utilization 
  599.  
  600.    9. Local or remote print spooler jobs on a per queue basis 
  601.  
  602.   10. Disk Drives on-line (including network drives) 
  603.  
  604.   11. Free space for selected drives (up to 6 drives including network drives) 
  605.  
  606.   12. OS/2 swap activity 
  607.  
  608.   13. Identify system levels for OS/2 component installed 
  609.  
  610.   14. OS/2 free real and virtual memory activity 
  611.  
  612.   15. Active number of OS/2 processes and threads 
  613.  
  614.   16. CPU utilization (current vs. rolling average over last 1 minute) 
  615.  
  616.   17. Battery status for mobile computers 
  617.  
  618.   18. Graphical views of memory, CPU usage, and swapping 
  619.  
  620.  PM Patrol contains a suite of robust utility and OS/2 desktop functions: 
  621.  
  622.    1. Robust monitoring of OS/2 processes and threads (Process Monitor window) 
  623.       with ability to monitor CPU utilization per process, memory used per 
  624.       process, process priorities, and "kill" ill-behaved programs. 
  625.  
  626.    2. Process Meter features provides unattended operation and automatic 
  627.       collection of process statistics for identifying duration, CPU 
  628.       consumption, and instances over a range of time. 
  629.  
  630.    3. Quick-access program launcher with priority control 
  631.  
  632.    4. Quick-access program scheduler with priority control for timed events 
  633.  
  634.    5. Network Monitor and I/O statistics for workstation 
  635.  
  636.    6. Summary and detailed information of drives 
  637.  
  638.    7. Summary and detailed information of OS/2 configuration and environment 
  639.  
  640.    8. Changing the mouse and wait pointers in OS/2 
  641.  
  642.    9. Fast Find files (pattern, size, last access, attributes, network drives) 
  643.  
  644.   10. Fast Help for all OS/2 and Windows help information files on-line 
  645.  
  646.   11. Fast access to WorkPlace Shell object classes 
  647.  
  648.   12. Find duplicate files 
  649.  
  650.   13. Drive utilization and analysis with graphical distribution 
  651.  
  652.   14. Fast Format diskettes 
  653.  
  654.   15. Print queue management 
  655.  
  656.   16. Identify system levels for OS/2 component installed 
  657.  
  658.   17. Minimize all visible windows (and restore all minimized windows) 
  659.  
  660.   18. Security to protect PM Patrol settings and configuration for stand-alone 
  661.       and network use 
  662.  
  663.   19. Suspending power for mobile computers (sleep mode) 
  664.  
  665.   20. Suspending PM Patrol monitors 
  666.  
  667.   21. Forced OS/2 shutdown 
  668.  
  669.   22. Changing mouse and wait pointers for all display types 
  670.  
  671.   23. Set system date and time 
  672.  
  673.   24. Several command-line utilities such as Fast Find and Find Duplicate 
  674.       files, Print Spooler Management, and more 
  675.  
  676.   25. API interfaces to retrieve real-time statistics from PM Patrol 
  677.  
  678.  
  679. ΓòÉΓòÉΓòÉ 7.3. Comparative Matrix ΓòÉΓòÉΓòÉ
  680.  
  681. =====================================================================
  682.       Item          PM Patrol  SPM/2  CpuMon  Pegasus
  683. =====================================================================
  684. Low memory requirements        x             x
  685. Low CPU requirements          x     x        x
  686. Network monitoring (1)         x
  687. CPU monitoring             x     x    x     x
  688. Magnified CPU monitoring        x
  689. LPT Port monitoring          x         x     x
  690. COM Port monitoring                   x     x
  691. Process monitors            x         x     x
  692. Free Memory monitor          x     x    x     x
  693. Virtual Memory monitor         x     x
  694. Resident Memory monitor        x     x
  695. Memory Per Process monitor            x    x
  696. Swap free and size monitor       x     x    x     x
  697. Drive monitoring            x     x    x     x
  698. Drive Cache monitors (2)        x             x
  699. Drive utilization mapping       x
  700. Power Mgmt Monitoring and Control   x
  701. Inconspicuous monitor display     x
  702. Real-time Data Collection Facility   x     x        x
  703. C/C++ API interfaces          x     x        x
  704. Quick access program Launcher     x
  705. Build-in program Scheduler       x
  706. Line graph displays          x     x        x
  707. Selective logging           x         x     x
  708. Print spooler mgmt and control     x
  709. System and Configuration Info.     x
  710. Performance tuning guide        x
  711. Desktop/WorkPlace Shell utilities   x
  712. Software testing tools         x
  713. Event Monitoring w/Alarms       x
  714. Multimedia Enabled           x
  715. Internet Access Monitoring       x
  716. Fast access to system help files    x
  717. Robust Process Metering        x
  718. Low cost                x
  719.  
  720. (1) LAN Server support only
  721. (2) HPFS-386 only
  722.  
  723.  
  724. ΓòÉΓòÉΓòÉ 8. How do I ? ΓòÉΓòÉΓòÉ
  725.  
  726. This section describes how to do things in PM Patrol that may not be obvious. 
  727.  
  728.  
  729. ΓòÉΓòÉΓòÉ 8.1. Set fonts ΓòÉΓòÉΓòÉ
  730.  
  731. You can select "Font" from the PM Patrol "Options" dialog and select a font for 
  732. the PM Patrol main Status Line. 
  733.  
  734. The font of choice for the PM Patrol Status Line is the "System VIO" family. 
  735.  
  736. Or, use the Font Palette in the OS/2 "Setup" folder by dropping a font on the 
  737. PM Patrol Status Line. 
  738.  
  739. All PM Patrol settings are automatically saved when you exit PM Patrol. 
  740.  
  741. Note:  PM Patrol supports the ability to have a different font and color scheme 
  742. for each window - including the main Status Line. 
  743.  
  744.  
  745. ΓòÉΓòÉΓòÉ 8.2. Display Different Drives ΓòÉΓòÉΓòÉ
  746.  
  747. By default, PM Patrol maps drives 1 through 6 on the Status Line to drives C 
  748. through H. This drive mapping can be changed to any desired combination. 
  749.  
  750.    1. From the PM Patrol Status Line, right-click the Status Line. 
  751.  
  752.    2. Select the "Drives" menu option 
  753.  
  754.    3. Then select the "Status Line" option. 
  755.  
  756.    4. This will display a menu identifying the current drive mappings assigned. 
  757.       Select the PM Patrol drive number you wish to change. 
  758.  
  759.    5. A mini dialog will popup displaying current drives on-line and 
  760.       accessible. Choose which drive to map. 
  761.  
  762.    6. To tell PM Patrol to show the drive on the Status Line select the drive 
  763.       number in PM Patrol's "Status Line Monitors" in the "Options" dialog. 
  764.  
  765.    7. This information is saved and remembered by PM Patrol. 
  766.  
  767.  When a drive being monitored goes off-line, PM Patrol displays a "?" in place 
  768.  of the free space for the drive to inform you the drive is off-line. This is 
  769.  more common when monitoring remote drives on a network. 
  770.  
  771.  
  772. ΓòÉΓòÉΓòÉ 8.3. Set Colors ΓòÉΓòÉΓòÉ
  773.  
  774. Use the "Colors" dialog. This can be accessed via the PM Patrol Setting option 
  775. on the "Options" dialog. You can control both foreground and background RGB 
  776. colors with this mechanism. 
  777.  
  778. Or, use the Color Palette in the OS/2 "Setup" folder by dropping a color 
  779. selection on the PM Patrol Status Line. 
  780.  
  781. All PM Patrol settings are automatically saved when you exit PM Patrol. 
  782.  
  783.  
  784. ΓòÉΓòÉΓòÉ 8.4. Move the Status Line ΓòÉΓòÉΓòÉ
  785.  
  786. There are two methods for moving the main Status Line. All PM Patrol settings 
  787. and window positions are automatically saved when you exit PM Patrol. 
  788.  
  789.         a. Holding the right mouse button down, drag the Status Line up or 
  790.            down, it will automatically keep the width of the Status Line within 
  791.            the boundaries of your desktop screen width. 
  792.  
  793.         a. Single click with both mouse buttons (Chord click) on the PM Patrol 
  794.            Status Line.  This will enable the title bar to the Status Line. 
  795.  
  796.         b. Select the title bar and hold the mouse button while dragging the 
  797.            Status Line to the desired position. 
  798.  
  799.         c. Chord click the Status Line again (or select "Hide Controls" from 
  800.            the System Menu box) to hide the title bar. 
  801.  
  802.         d. This will allow you to move the Status Line off the desktop 
  803.            boundaries for those of you who wish to truncate the left of right 
  804.            side of the Status Line. 
  805.  
  806.  
  807. ΓòÉΓòÉΓòÉ 8.5. Mouse Control with PM Patrol ΓòÉΓòÉΓòÉ
  808.  
  809. Double click the left mouse button on the PM Patrol Status Line to get to PM 
  810. Patrol Options. 
  811.  
  812. Single click the right mouse button on the PM Patrol Status Line for quick 
  813. access the PM Patrol utilities menu. 
  814.  
  815. Single click the left and right mouse buttons (Chord click) on the PM Patrol 
  816. Status Line to display the PM Patrol title bar and system menu. This allows you 
  817. to move the PM Patrol Status Line to a desired position. Chord click again to 
  818. hide the title bar, or select the "System Menu" box on the title bar and then 
  819. select "Hide Controls". 
  820.  
  821.  
  822. ΓòÉΓòÉΓòÉ 8.6. Start PM Patrol Minimized/Hidden ΓòÉΓòÉΓòÉ
  823.  
  824. PM Patrol can be started with a command line option ("-H") to start it in a 
  825. HIDDEN state. This is advantageous for some users - particularly when the user 
  826. is only interested in the DCF component. Use the OS/2 Window List to "unhide" 
  827. the window. This also lends itself to workstations which are used exclusively 
  828. for real-time operations and/or data acquisition and wish to use the Logger 
  829. component of PM Patrol. 
  830.  
  831. Combined with the "Start Secured" option, PM Patrol to operates in complete 
  832. detached mode and 100% secured from user interaction and intervention. The only 
  833. way to terminate PM Patrol is an OS/2 Shutdown. This mode of operation lends 
  834. itself to LAN administrators who wish to monitor workstations using the DCF and 
  835. Network components of PM Patrol without involving the workstation user. 
  836.  
  837.  
  838. ΓòÉΓòÉΓòÉ 8.7. Start PM Patrol Secured ΓòÉΓòÉΓòÉ
  839.  
  840. PM Patrol can be started with a command line option "-S" to start PM Patrol in 
  841. SECURED state. When enabled, PM Patrol does not appear in the OS/2 Window List 
  842. and can not therefore be terminated by the user. The user MUST close PM Patrol 
  843. via the normal PM Patrol mechanism. 
  844.  
  845. Combined with the "Start Hidden" option, PM Patrol to operates in complete 
  846. detached mode and 100% secured from user interaction and intervention. The only 
  847. way to terminate PM Patrol is an OS/2 Shutdown. This mode of operation lends 
  848. itself to LAN administrators who wish to monitor workstations using the DCF and 
  849. Network components of PM Patrol without involving the workstation user. 
  850.  
  851.  
  852. ΓòÉΓòÉΓòÉ 8.8. Uninstall PM Patrol ΓòÉΓòÉΓòÉ
  853.  
  854. To Uninstall PM Patrol from your system: 
  855.  
  856.    1. Exit PM Patrol if currently active. 
  857.  
  858.    2. Delete the PM Patrol folder from the OS/2 Desktop. 
  859.  
  860.    3. If you selected PM Patrol to startup automatically via the OS/2 desktop 
  861.       "Startup" folder, then delete the program object from this folder as 
  862.       well. 
  863.  
  864.    4. Delete the PM Patrol directory (i.e. C:\PMP) and all the files within the 
  865.       directory. 
  866.  
  867.  
  868. ΓòÉΓòÉΓòÉ 8.9. Use PM Patrol without a mouse ΓòÉΓòÉΓòÉ
  869.  
  870. To access PM Patrol without a mouse, use Ctrl-Esc to get to the OS/2 Window 
  871. List. Then, select the "PM patrol Status Line". At this point, you can: 
  872.  
  873.    1. Press F11 to invoke the PM Patrol Utility Popup menu 
  874.  
  875.    2. Press F12 to invoke the PM Patrol Options window 
  876.   Once you have access to the Utility Popup, you can go anywhere within PM 
  877.  Patrol without a mouse. 
  878.  
  879.  
  880. ΓòÉΓòÉΓòÉ 9. Options ΓòÉΓòÉΓòÉ
  881.  
  882. This section describes various options and configuration settings that may be 
  883. selected for PM Patrol. 
  884.  
  885.  
  886. ΓòÉΓòÉΓòÉ 9.1. System ΓòÉΓòÉΓòÉ
  887.  
  888. The System section provides the ability to view and change several OS/2 
  889. environmental facets. 
  890.  
  891. This can be accessed from the PM Patrol "Options" dialog. 
  892.  
  893.  
  894. ΓòÉΓòÉΓòÉ 9.1.1. System Level ΓòÉΓòÉΓòÉ
  895.  
  896. The System Level option launches the OS/2 SYSLEVEL.EXE utility and displays the 
  897. current release and CSD level for the OS/2 components installed on your system. 
  898.  
  899.  
  900. ΓòÉΓòÉΓòÉ 9.1.2. Set Date/Time ΓòÉΓòÉΓòÉ
  901.  
  902. The Set Date/Time option provides a small dialog for changing the OS/2 system 
  903. date and/or time. Input is fully edited for valid dates including leap-year and 
  904. you are notified of errors. 
  905.  
  906. The Status Line Date/Time is updated to reflect the new date/time. 
  907.  
  908.  
  909. ΓòÉΓòÉΓòÉ 9.1.3. Mouse Pointer ΓòÉΓòÉΓòÉ
  910.  
  911. The Mouse Pointer option allows you to change the current mouse pointer type. 
  912. Using the OS/2 Icon Editor, you can create your own POINTER files. 
  913.  
  914. This option provides a bigger pointer for SVGA and XGA systems.  On XGA 
  915. systems, if you change the default pointer, the pointer may occasionally 
  916. disappear. This is most likely caused by the IBM OS/2 XGA drivers and is 
  917. repaired in OS/2 2.1 with the 2.11 CSD. 
  918.  
  919. Note:  After selecting a new pointer, DO NOT delete, move, or rename the 
  920. pointer file without changing the Mouse Pointer via PM Patrol FIRST. OS/2 looks 
  921. for this at IPL. If it is not found at OS/2 bootup, OS/2 will hang. So put the 
  922. pointer file in a safe place on a not removable media type and backup INI 
  923. files. 
  924.  
  925. Select "Reset" to reset back to the original pointer. 
  926.  
  927.  
  928. ΓòÉΓòÉΓòÉ 9.1.4. Wait Pointer ΓòÉΓòÉΓòÉ
  929.  
  930. The Wait Pointer option allows you to change the current wait pointer type. 
  931. Typically, this is the OS/2 time clock when the system is busy. Using the OS/2 
  932. Icon Editor, you can create your own POINTER files. 
  933.  
  934. This option was added to provide a bigger pointer for SVGA and XGA systems.  On 
  935. XGA systems, if you change the default pointer, the pointer may occasionally 
  936. disappear.  This is most likely caused by the XGA drivers. 
  937.  
  938. After selecting a new pointer, DO NOT delete, move, or rename this file without 
  939. performing this process as well. OS/2 looks for this at IPL. So put the pointer 
  940. file in a safe place on a not removable media type and backup INI files. 
  941.  
  942. Select "Reset" to reset back to the original pointer. 
  943.  
  944.  
  945. ΓòÉΓòÉΓòÉ 9.2. Settings ΓòÉΓòÉΓòÉ
  946.  
  947. The Settings section provides the ability to view, change, and permanently 
  948. change PM Patrol configuration items. 
  949.  
  950. This can be accessed from the PM Patrol "Options" dialog. 
  951.  
  952.  
  953. ΓòÉΓòÉΓòÉ 9.2.1. Reset All Settings ΓòÉΓòÉΓòÉ
  954.  
  955. The Reset All Settings option resets all PM Patrol to options to their original 
  956. defaults. This includes colors, window positions, fonts, monitor items on the 
  957. Status Line and PM Patrol Logger, and Process Meter data. 
  958.  
  959.  
  960. ΓòÉΓòÉΓòÉ 9.2.2. General Settings ΓòÉΓòÉΓòÉ
  961.  
  962. General Settings is broken-out into the following groups: 
  963.  
  964.    1. "Startup" options and windows that get started when PM Patrol is started 
  965.  
  966.    2. "Miscellaneous" options 
  967.  
  968.    3. "Spooler" options for local or remote print spool monitoring 
  969.  
  970.    4. "Editor" and "Viewer" programs used by PM Patrol 
  971.  
  972.  The following items discuss Startup function: 
  973.  
  974.    1. Enable Process Monitor Window to have this facility launched when PM 
  975.       Patrol starts. 
  976.  
  977.    2. Enable Memory Monitor Window to have this facility launched when PM 
  978.       Patrol starts. 
  979.  
  980.    3. Enable Network Monitor Window to have this facility launched when PM 
  981.       Patrol starts. 
  982.  
  983.    4. Enable Port Monitor Window to have this facility launched when PM Patrol 
  984.       starts. 
  985.  
  986.    5. Enable Drives Monitor Window to have this facility launched when PM 
  987.       Patrol starts. 
  988.  
  989.    6. Enable Event Monitor Window to have this facility launched when PM Patrol 
  990.       starts. 
  991.  
  992.    7. Enable Activity Monitor Window to have this facility launched when PM 
  993.       Patrol starts. 
  994.  
  995.    8. Enable Debug Facility to have this facility start when PM Patrol starts. 
  996.  
  997.    9. Enable Logging Facility to have this facility start when PM Patrol 
  998.       starts. 
  999.  
  1000.   10. Enable Reset Process Meter to have the Process Meter data base 
  1001.       initialized when PM Patrol starts (typically each time you reboot your 
  1002.       system). When this settings is not enabled, PM Patrol keeps track of 
  1003.       Process Meter statistics across each invocation of PM Patrol, thus 
  1004.       providing accumulative statistics for you until you manually reset the 
  1005.       Process Meter data base. This option is enabled by default. Therefore, 
  1006.       the meter will be initialized each time you start PM Patrol. 
  1007.  
  1008.  The following items discuss Miscellaneous items: 
  1009.  
  1010.    1. Sound Bites and Volume option enables or disables the playing of 
  1011.       multimedia WAV files upon various PM Patrol events. This option is only 
  1012.       applicable to systems that are Multimedia enabled with MMPM/2 for OS/2. 
  1013.       The Volume control allows you to adjust the volume for PM Patrol's WAV 
  1014.       sound bites independantly from the OS/2 "System Sounds" volume control. 
  1015.       The default is 50% and may require adjustment for your system. PM Patrol 
  1016.       stores it's WAV files in a subdirectory called "WAV" and is located under 
  1017.       the PM Patrol installation directory. Some events include: 
  1018.  
  1019.         a. When an error occurs (pmperr.wav). 
  1020.  
  1021.         b. When free disk space is low (pmpfdisk.wav). 
  1022.  
  1023.         c. Each time you connect (pmpin.wav) or disconnect from (pmpout.wav) 
  1024.            the Internet when using IBM's Internet Access Kit. 
  1025.  
  1026.         d. Each time you Logon (pmpin.wav) or Logoff (pmpout.wav) when using 
  1027.            IBM's LAN Server. 
  1028.  
  1029.         e. When you kill a program from the Process Monitor window or Fast 
  1030.            Format a floppy diskette (pmpshred.wav). 
  1031.  
  1032.         f. When you refresh the window contents manually (pmprefr.wav). 
  1033.  
  1034.         g. When you add (pmpadd.wav) or delete (pmpshred.wav) items from a 
  1035.            window. 
  1036.  
  1037.         h. When you delete PM Patrol or Debug log files (pmpshred.wav). 
  1038.  
  1039.         i. When the PM Patrol Status Line, Activity Monitor, or PM Patrol's CPU 
  1040.            monitor are suspended (pmppause.wav) and resumed (pmpreset.wav). 
  1041.  
  1042.         j. When using PM Patrol's print spooler management functions. This 
  1043.            includes purging queues (pmpshred.wav), releasing queues 
  1044.            (pmpreset.wav), and holding queues (pmppause.wav). 
  1045.  
  1046.         k. When PM Patrol windows are copied to the clipboard, printed, or 
  1047.            saved to a file (pmprpt.wav). 
  1048.  
  1049.         l. When printing to local LPT1, LPT2, or LPT3 has completed spooling to 
  1050.            printer (pmpprint.wav). 
  1051.  
  1052.         m. When remaining battery life drops below specified threshold 
  1053.            (pmpbat.wav). 
  1054.  
  1055.         n. When available virtual memory falls below specified threshold 
  1056.            (pmpvram.wav). 
  1057.  
  1058.         o. When the OS/2 swap file grows at any time (pmpgswap.wav). 
  1059.  
  1060.         p. When available OS/2 swap space falls below the specified threshold 
  1061.            (pmpfswap.wav). 
  1062.  
  1063.         q. When average CPU exceeds specified threshold (pmpcpu.wav). 
  1064.  
  1065.         r. When PM Patrol logging is stopped or completed (pmpdone.wav). 
  1066.  
  1067.         s. When various "Reset" options are selected (pmpreset.wav). 
  1068.  
  1069.    2. Process Metering option enables or disables the Process Meter feature 
  1070.       which provides ongoing monitoring of process metrics and statistics for 
  1071.       analyzing duration, CPU effort, instances, execution dates, and more. 
  1072.       Refer to the "Monitors" on-line section for details. 
  1073.  
  1074.    3. Confirmations option enables or disables PM Patrol from asking you for 
  1075.       confirmation upon various events such as killing processes via the 
  1076.       Process Monitor window. There are cases where PM Patrol will ignore this 
  1077.       option and request confirmation for your own protection, even if this 
  1078.       option is turned off. 
  1079.  
  1080.    4. Animated Windows option enables or disables the appearance of PM Patrol 
  1081.       windows "zooming" in and out when windows are opened and closed. 
  1082.  
  1083.    5. Idle-Time Searches option controls the search priority for "Fast Find", 
  1084.       "Drive Map", and "Fast Help" operations. When enabled, these operations 
  1085.       only get OS/2 time slices when there is inactivity (idle) within your 
  1086.       system. 
  1087.  
  1088.    6. Auto-Save Profile option will, when enabled, automatically save the PM 
  1089.       Patrol profile and statistics at the frequency specified. The frequency 
  1090.       is specified as minutes with a range of 1 minute to 8 hours, default 15 
  1091.       minutes. This facilitates the integrity for the PM Patrol real-time 
  1092.       statistics in the event of a system hang.  If not enabled, PM Patrol will 
  1093.       automatically save the profile statistics, but only when PM Patrol is 
  1094.       shutdown. 
  1095.  
  1096.       Note:  With this option turned on, power-managed computers will not 
  1097.       automatically power-down the disk drive(s) because of the disk write 
  1098.       generated from this option. This disk write is not buffered and therefore 
  1099.       commits to disk immediately. 
  1100.  
  1101.    7. Lock Status Line Position option locks-in the PM Patrol Status Line 
  1102.       position from accidently dragging and moving. 
  1103.  
  1104.    8. Added Reflect Free Swap in VRam. This option provides the ability to have 
  1105.       the Free Virtual Memory calculation reflect (or not reflect) free OS/2 
  1106.       swap space from the swap file (swapper.dat). When enabled, the Free 
  1107.       Virtual RAM (VRam) calculation will reflect a more accurate and actual 
  1108.       reading that factors in available swap pages. 
  1109.  
  1110.    9. Allow Alternative CPU Monitors option instructs PM Patrol to keep PM 
  1111.       Patrol's CPU active even when alternative CPU monitors are detected. 
  1112.  
  1113.   10. Message Popup Seconds option allows you to define how long (seconds) PM 
  1114.       Patrol should display popup messages. The default is 4 seconds. 
  1115.  
  1116.   11. Auto-Popup Menu option causes the PM Patrol Status Line popup menu to 
  1117.       automatically popup when the mouse is moved over the Status Line within 1 
  1118.       inch of the right or left side of the screen. No mouse click is 
  1119.       necessary. Where the mouse pointer is outside of these 1 inch boundaries, 
  1120.       PM Patrol behaves normally. This feature is nice for those who want 
  1121.       ultra-fast access to PM Patrol features. When enabled, the double-click 
  1122.       option off the Status Line is disabled. To access to PM Patrol "Options" 
  1123.       window, select it off the popup menu. 
  1124.  
  1125.   12. Bitmap in Popup Menu option enables or disables displaying the PM Patrol 
  1126.       bitmap in the Utility Popup menu accessed from the PM Patrol Status Line. 
  1127.  
  1128.   13. The Sync Time with Server option enables or disables synchronization of 
  1129.       date and time as compared to the network server currently logged-on to. 
  1130.       When enabled and logged-on to a LAN Server, PM Patrol will (every 10 
  1131.       minutes) synchronize the date and time with the LAN Server. This is set 
  1132.       off by default. 
  1133.  
  1134.   14. The Check floppy at Shutdown will cause PM Patrol to warn you when PM 
  1135.       Patrol is shutdown that there is a floppy diskette mounted in the boot 
  1136.       floppy drive. 
  1137.  
  1138.   15. The CPU Magnification provides the ability to magnify actual CPU 
  1139.       utilization. The value specified is a multiplier (1x, 2x, ... 25x). 
  1140.       Setting magnification to 1 will result in the same value for actual CPU. 
  1141.       The magnification can be monitored in either PM Patrol's Status Line or 
  1142.       Activity Monitor. By default, this option is not enabled in the Activity 
  1143.       Monitor and is set to 5 times (5x) in General Settings. This feature of 
  1144.       PM Patrol lends itself to high-end i486 and Pentium based CPUs and allows 
  1145.       the ability to "zoom" into CPU usage less than 1 percent. PM Patrol will 
  1146.       not report CPU magnification higher than 100 percent. 
  1147.  
  1148.   16. The Battery Calibration option allows you to specify the "zero" value for 
  1149.       the mobile computer's battery. The OS/2 APM facilities assume the battery 
  1150.       to be 100% new. As the battery ages, the original maximum life of the 
  1151.       battery diminishes. Especially for NICad batteries. PM Patrol allows you 
  1152.       to specify a "new" maximum life. When set at zero, observe the PM Patrol 
  1153.       "Bat" percentage. When your computer informs you the battery is 
  1154.       dangerously low (usually several short beeps), observe the percentage 
  1155.       that PM Patrol reports. This value becomes the new "zero" point. Select 
  1156.       this value in the "Calibration" field in the "General Settings" dialog. 
  1157.       Repeat this process every 3-4 months to ensure accurate and reliable 
  1158.       battery readings. 
  1159.  
  1160.  The following items discuss print Spooler options: 
  1161.  
  1162.    1. The Monitor Remote Queue(s) item allows you to select "local" or "Remote" 
  1163.       print queue(s) on a LAN Server and requires IBM LAN Requester be 
  1164.       installed on the local workstation. When enabled, the LAN Server 
  1165.       currently logged-on to is monitored.  PM Patrol automatically recognizes 
  1166.       when a new or different server is logged-on to and adjusts the monitoring 
  1167.       for that server. When not selected, the local workstation print queues 
  1168.       are monitored. This is the default. 
  1169.  
  1170.    2. PM Patrol displays a "?" on the Status Line when it can not poll print 
  1171.       spooler data - perhaps when the user is not logged-on to the server. 
  1172.  
  1173.    3. Monitoring a remote print spooler is only applicable if you have LAN 
  1174.       Requester installed on your workstation, and you are logged onto the 
  1175.       network server. 
  1176.  
  1177.    4. The "Total all Print Queues" option allows you to summarize all print 
  1178.       jobs across all queues and report this value. If this option is NOT 
  1179.       selected, PM Patrol reports the number of print jobs in each spooler 
  1180.       queue along with the status of the queue (h=held or r=released). 
  1181.  
  1182.  The Viewer identifies which OS/2 program/utility to use for viewing.  PM 
  1183.  Patrol uses this for Log viewing and others purposes as they surface in future 
  1184.  releases of PM Patrol. 
  1185.  
  1186.  The Editor identifies which OS/2 program/utility to use for editing.  PM 
  1187.  Patrol uses this for the "Fast Find" files facility and other purposes as they 
  1188.  surface in future releases of PM Patrol. 
  1189.  
  1190.  
  1191. ΓòÉΓòÉΓòÉ 9.2.3. Event Settings ΓòÉΓòÉΓòÉ
  1192.  
  1193. The following items discuss Event monitor options. The Sound Bites for the 
  1194. following events will only occur when "Sound Bites" is enabled in the "General 
  1195. Settings" window and MMPM/2 is installed on your system. 
  1196.  
  1197. When these selected events occur, you will be notified (if enabled) at the 
  1198. frequency specified under "Event Frequencies". By default, you are notified 
  1199. every 5 minutes after the event threshold has been exceeded and sustained for 1 
  1200. minute. 
  1201.  
  1202. Notification occurs in the form of Sound Bites (if enabled), speaker sounds, 
  1203. and/or short popup messages. For systems which are not multimedia enabled, PM 
  1204. Patrol will sound a short audible alarm when event thresholds are exceeded. 
  1205.  
  1206. When you start-up PM Patrol, events will not occur within the first 15 seconds 
  1207. while PM Patrol calibrates itself and initially samples all resources. 
  1208.  
  1209. PM Patrol events include: 
  1210.  
  1211.    1. Battery below ... option will cause PM Patrol to notify you when 
  1212.       remaining battery life drops below the percentage specified. This option 
  1213.       is available only for mobile computer systems with OS/2's Advanced Power 
  1214.       Management. 
  1215.  
  1216.    2. Avg CPU above ... option will cause PM Patrol to notify you when average 
  1217.       CPU exceeds the percentage specified. 
  1218.  
  1219.    3. Virtual RAM below ... option will cause PM Patrol to notify you when 
  1220.       available virtual memory falls below the amount specified. This amount is 
  1221.       represented in terms of Megabytes (MB). 
  1222.  
  1223.    4. Free Swap below  ... option will cause PM Patrol to notify you when 
  1224.       available swap space falls below the percentage specified. 
  1225.  
  1226.    5. Free RAM below  ... option will cause PM Patrol to notify you when 
  1227.       available RAM falls below the percentage specified. This option is not 
  1228.       recommended for use by systems with less than 16 MB of memory. 
  1229.  
  1230.    6. Swap File above... option will cause PM Patrol to notify you when the 
  1231.       OS/2 swap file (SWAPPER.DAT) exceeds the size specified. This size is 
  1232.       specified in terms of megabytes (MB). 
  1233.  
  1234.    7. Drive 1-6 below... option will cause PM Patrol to notify you when free 
  1235.       disk space falls below the amount specified. This amount is represented 
  1236.       in terms of megabytes (MB). The drive to be monitored must be selected in 
  1237.       the list box on the main "Options" dialog. You will not be able to select 
  1238.       event monitoring for the desired drive until this selection is done. 
  1239.  
  1240.  PM Patrol provides three different Notification Methods when event thresholds 
  1241.  are exceeded: 
  1242.  
  1243.    1. The Messages option will cause PM Patrol to notify you in the form of a 
  1244.       brief message when the above events occur. This message is a small pop-up 
  1245.       window that temporarily grabs the foreground for about 3-4 seconds. This 
  1246.       method is rather obtrusive and will visually interupt what your're 
  1247.       currently working on. Each event has a specific message. 
  1248.  
  1249.    2. The Sound Bites option will cause PM Patrol to notify you in the form of 
  1250.       multimedia sound effects when the above events occur. These sounds 
  1251.       require MMPM/2 and are background. 
  1252.  
  1253.    3. The PC Speakers option will cause PM Patrol to notify you in the form of 
  1254.       a short beep when the above events occur. 
  1255.  
  1256.    4. PM Patrol's Data Collection Facility APIs provide a means of real-time 
  1257.       event notification. 
  1258.  
  1259.  The Notification Frequencies allow you set two important setting which allow 
  1260.  you to control how often you are notified once an event threshold is exceeded, 
  1261.  and how long must the threshold be exceeded before notificaton occurs. 
  1262.  
  1263.    1. The Sustained State control informs PM Patrol to wait a certain amount of 
  1264.       time (seconds) while the threshold is exceeded before notifying you via 
  1265.       the methods you have selected. Hence, the threshold has to sustain an 
  1266.       exceeded state for the time you specifiy. 
  1267.  
  1268.    2. The Renotification control allows you to select how often you want to be 
  1269.       notified after the "Sustained State" has occured. Specifying zero will 
  1270.       turn off Renotification. When turned off, you will only be notified once 
  1271.       - when the Sustained State is reached. 
  1272.  
  1273.  The Event Monitor Window collects ALL selected events - even if you have 
  1274.  chosen not to be notified. The last time and the value of the "Sustained 
  1275.  State" of the event are reported in this window. 
  1276.  
  1277.  
  1278. ΓòÉΓòÉΓòÉ 9.2.4. Logger Settings ΓòÉΓòÉΓòÉ
  1279.  
  1280. The following items discuss Logger Settings: 
  1281.  
  1282.    1. The Log Items allows you to select which PM Patrol monitors you would 
  1283.       like to record while logging is active. Once the Logger is active, these 
  1284.       options are inaccessible.  Stop the Logger to change the "Logger 
  1285.       Settings". 
  1286.  
  1287.       Note:  The Process Detail option provides the ability to have PM Patrol 
  1288.       also log process detail information as seen in PM Patrol's Process 
  1289.       Monitor window. This additional detail will list all programs that are 
  1290.       active along with their process ID (PID) and the CPU used per process. 
  1291.       Enabling this will cause the log file size to increase based on the 
  1292.       number of processes actively running. 
  1293.  
  1294.    2. The Log Frequency allows you to select the frequency at which PM Patrol 
  1295.       logs selected monitor items. Valid values are 1 to 60 seconds (1 minute). 
  1296.  
  1297.    3. The Log Duration allows you to select how long (minutes) to perform 
  1298.       logging.  Valid values are 1 minute to 1440 (all day). 
  1299.  
  1300.       Note:  Specifying 1440 minutes enables continuous logging.  With this 
  1301.       enabled, the log files (primary and backup) get "rolled-over" at 
  1302.       midnight. The "Notify when Done" option is ignored when continuous 
  1303.       logging is enabled. 
  1304.  
  1305.       Note:  Worst case disk requirement for all day logging with backup is 16 
  1306.       MB. 1/2 of this when "Backup log File" is not enabled. 
  1307.  
  1308.       Note:  While continuous logging is active, the primary log file can not 
  1309.       be viewed. The backup log file (from the previous day) is always 
  1310.       accessible. 
  1311.  
  1312.    4. The Foreground Color and Background Color push-button items allow you to 
  1313.       select the PM Patrol Status Line colors when logging is active.  The 
  1314.       default colors reverse the foreground and background colors. 
  1315.  
  1316.    5. The Backup Log File causes the primary log file to be backed-up each time 
  1317.       a "Start Log" is initiated.  With this disabled, the primary log file is 
  1318.       overwritten. 
  1319.  
  1320.    6. The Notify When Done option provides the ability to have PM Patrol popup 
  1321.       a message on the OS/2 Desktop when logging has reached it's completion 
  1322.       via the "Log Duration" setting.  This is ignored for "Continuous 
  1323.       Logging". 
  1324.  
  1325.    7. The Path entry field allows you to specify the path location for both 
  1326.       primary and backup log files. 
  1327.  
  1328.       Note:  The primary and backup log files created by PM Patrol are named 
  1329.       "PMPATROL.LOG" for the primary and "PMPATROL.BAK" for the backup log 
  1330.       file. Both the primary and backup log files are ASCII.  Therefore, they 
  1331.       can be viewed and otherwise manipulated using such tools as Rexx, AWK, 
  1332.       and GREP. 
  1333.  
  1334.  The PM Patrol Logger is designed with special consideration for performance 
  1335.  and can be used in a variety of situations: 
  1336.  
  1337.    1. Real-time and time critical. Samples recorded every second. 
  1338.  
  1339.    2. Aggressive. Samples recorded every 2-3 seconds. 
  1340.  
  1341.    3. Casual. Samples recorded every minute. 
  1342.  
  1343.  The Logger buffers output to minimize disk write efforts. Worst case, the 
  1344.  Logger requires 1 physical disk write for every 10 Log records. 
  1345.  
  1346.  Because of the buffering technique used by the Logger, there are no special 
  1347.  performance requirements imposed on the user. However, it is recommended that 
  1348.  "Lazy Write" be enabled in the OS/2 CONFIG.SYS to improve OS/2 overall disk 
  1349.  performance and further minimize the PM Patrol Logging effort. 
  1350.  
  1351.  
  1352. ΓòÉΓòÉΓòÉ 9.2.5. Refresh Settings ΓòÉΓòÉΓòÉ
  1353.  
  1354. The following items discuss Refresh Settings for PM Patrol monitors. When 
  1355. setting these controls, try to stagger them so that each item occurs at a 
  1356. different time. 
  1357.  
  1358. The lower the frequency setting for a given monitor, the more timing-accurate 
  1359. the monitor will be. However, this lower frequency also causes PM Patrol to 
  1360. sample the resource more often thus creating more overhead. For i486 and 
  1361. Pentium based systems, setting these frequencies to minimum values will NOT 
  1362. create adverse effects. CPU overhead for PM Patrol is mimimal. 
  1363.  
  1364. The higher the frequency setting for a given monitor, the less timing-accurate 
  1365. and reliable the monitor will be. However, this higher frequency also reduces 
  1366. PM Patrol overhead for i386 based systems. 
  1367.  
  1368.    1. The Network Monitors refresh setting controls how often (seconds) PM 
  1369.       Patrol samples network presence, I/O statistics, logon, and workstation 
  1370.       status. The Network Monitor window is updated at this frequency as well. 
  1371.  
  1372.    2. The Spool Monitor refresh setting controls how often (seconds) PM Patrol 
  1373.       enumerates the total number of print jobs across all print queues. 
  1374.  
  1375.    3. The Drive Monitors refresh setting controls how often (seconds) PM Patrol 
  1376.       checks what drives are on-line and how much free disk space exists on 
  1377.       each. This does not effect the refresh of the Drives Monitor window which 
  1378.       updates every minute. 
  1379.  
  1380.    4. The Swap Monitor refresh setting controls how often (seconds) PM Patrol 
  1381.       checks how large the OS/2 swapper file is and how much free swapper space 
  1382.       there is. 
  1383.  
  1384.    5. The Activity Monitor refresh setting controls how often (seconds) PM 
  1385.       Patrol refreshes the items in the Activity Monitor window. 
  1386.  
  1387.    6. The Memory Monitors refresh setting controls how often (seconds) PM 
  1388.       Patrol checks free, virtual, and resident memory. The Memory Monitor 
  1389.       window is updated at this frequency as well. 
  1390.  
  1391.    7. The Process Monitors refresh setting controls how often (seconds) PM 
  1392.       Patrol refreshes the Process Monitor window, Process Summary information 
  1393.       in the PM Patrol Status Line, and Process Meter data collection (when 
  1394.       enabled). The other Process Monitor functions do not automatically 
  1395.       refresh and are therefore not subject to this refresh control. 
  1396.  
  1397.    8. The User Defined Monitor refresh setting controls how often (seconds) PM 
  1398.       Patrol refreshes the User Defined Monitor information in PM Patrol's main 
  1399.       Status Line. Using the PM Patrol "DCFUserDefined" API within a C/C++ 
  1400.       program, you can format a monitor buffer of your choice. Refer to the API 
  1401.       description for DCFUserDefined for details. 
  1402.  
  1403.  Note:  The CPU effort to collect Process Meter data, although minimal when 
  1404.  active, can be negatively influenced by adjusting the "Process Monitors" 
  1405.  frequency in PM Patrol's "Refresh Settings" dialog too low - depending on the 
  1406.  computer. As a rule of thumb, set the "Process Monitors" frequency to the 
  1407.  following, but never lower: 
  1408.  
  1409.    1. 5 seconds for i386 class computers 
  1410.  
  1411.    2. 4 seconds for i486 class computers 
  1412.  
  1413.    3. 3 seconds for Pentium class computers 
  1414.  
  1415.  
  1416. ΓòÉΓòÉΓòÉ 9.2.6. Status Line Font ΓòÉΓòÉΓòÉ
  1417.  
  1418. The Status Line Font option allows you to set the display font for the PM 
  1419. Patrol Status Line window. 
  1420.  
  1421. The font of choice for the PM Patrol Status Line is the "System VIO" family. 
  1422.  
  1423. You can also use the Font Palette in the OS/2 "System Settings" folder by 
  1424. dragging the font to the PM Patrol Status Line. 
  1425.  
  1426.  
  1427. ΓòÉΓòÉΓòÉ 9.2.7. Status Line Colors ΓòÉΓòÉΓòÉ
  1428.  
  1429. The Status Line Colors option allows you to set the foreground and background 
  1430. colors for the PM Patrol Status Line window. 
  1431.  
  1432. The Color Propagation option informs PM Patrol to use the color settings 
  1433. selected throughout all PM Patrol windows - as opposed to the current OS/2 
  1434. color definitions. 
  1435.  
  1436. Note:  The font of choice for the PM Patrol Status Line is the "System VIO" 
  1437. family. 
  1438.  
  1439. You can also use the Font Palette in the OS/2 "System Settings" folder by 
  1440. dragging the font to the PM Patrol Status Line. 
  1441.  
  1442.  
  1443. ΓòÉΓòÉΓòÉ 9.2.8. Security ΓòÉΓòÉΓòÉ
  1444.  
  1445. The Security option allows you to set a password that restricts access to PM 
  1446. Patrol configuration, settings, and monitor items. 
  1447.  
  1448. Simply enter a password and PM Patrol security is enabled. To turn off 
  1449. security, simply remove the password. 
  1450.  
  1451. When enabled, the security will restrict access to: 
  1452.  
  1453.    1. All "Options" dialog functions 
  1454.  
  1455.    2. Changing monitored items from the "Utility" popup menu 
  1456.  
  1457.    3. The Program Settings dialog from the "Utility" popup menu 
  1458.  
  1459.    4. The Scheduler Settings dialog from the "Utility" popup menu 
  1460.  
  1461.    5. PM Patrol Logging functions from the "Utility" popup menu 
  1462.  
  1463.  
  1464. ΓòÉΓòÉΓòÉ 9.3. Exit ΓòÉΓòÉΓòÉ
  1465.  
  1466. This option is used to end the PM Patrol program 
  1467.  
  1468.  
  1469. ΓòÉΓòÉΓòÉ 9.4. Status Line Options ΓòÉΓòÉΓòÉ
  1470.  
  1471. This section describes PM Patrol's Status Line Options and Graphs available in 
  1472. the "Options" window. The descriptions and application of the individual Status 
  1473. Line Monitors are discussed in detail under the on-line help section called 
  1474. "Status Line". 
  1475.  
  1476. Some of these options may be grayed-out and inaccessible if the related monitor 
  1477. is not selected in the Status Line Monitor list-box. 
  1478.  
  1479. The CPU Average option enables or disables the display of the "rolling average" 
  1480. of CPU activity covering the last 1 minute. This option is accessible only when 
  1481. "CPU Monitor" is selected in "Status Line" monitors. 
  1482.  
  1483. The CPU Magnified option enables or disables the display of CPU magnification 
  1484. as setup in the General Settings. This option is accessible only when "CPU 
  1485. Monitor" is selected in "Status Line" monitors and offers the ability to 
  1486. monitor CPU activity at a very granular level. 
  1487.  
  1488. The Float to Top option enables or disables the PM Patrol Status Line being 
  1489. kept as the "topmost" window on the OS/2 desktop and therefore visible all the 
  1490. time. When obscured by another window, the Status Line will "float" to the top 
  1491. of the desktop - but will not be the active window. 
  1492.  
  1493. Note:  Refer to the on-line help section "Trouble Shooting" for idiosyncrasies 
  1494. associated with the "Float to Top" option under OS/2 versions 2.1 and 2.11. 
  1495.  
  1496. The Show Open Files option allows you to include the total number of open files 
  1497. in your OS/2 system as part of the Process Summary monitor. 
  1498.  
  1499. Show Inverted. By default, PM Patrol shows Swap, Real, and Virtual RAM in terms 
  1500. of "Free" and available resource on the Status Line. This option allows you to 
  1501. "invert" or reverse how these monitors and graphs are shown on the Status Line 
  1502. to reflect resource taxation similar to PM Patrol's CPU monitor. 
  1503.  
  1504. Note:  This option only effects the PM Patrol Status Line and not other windows 
  1505. within PM Patrol or PM Patrol's Logger. 
  1506.  
  1507. The Show Floppies option enables or disables the display of floppy disk drives 
  1508. in the "Drives On-line" monitor. 
  1509.  
  1510. The Show Seconds option enables or disables PM Patrol displaying current 
  1511. seconds within the Time on the main Status Line. 
  1512.  
  1513. The Show Julian Date option enables or disables PM Patrol displaying the 
  1514. current Julian date (in addition to the normal Gregorian date) on the main 
  1515. Status Line. 
  1516.  
  1517. The Show Decimals option enables or disables PM Patrol displaying the decimal 
  1518. position for several of the Status Line monitors. When disabled, PM Patrol will 
  1519. apply standard rounding across affected values. 
  1520.  
  1521. The Show Compact option enables or disables PM Patrol displaying status 
  1522. information in "compact" form. When enabled, the monitor items on the PM Patrol 
  1523. Status Line have their abbreviations (i.e. "Ram", "Spl") removed thus allowing 
  1524. for more room within the Status Line window. 
  1525.  
  1526. The Show Total INet option instructs PM Patrol to display the total Internet 
  1527. Connect-Time on the Status Line as well as the per-instance connect time. When 
  1528. disabled, PM Patrol will show the current active Internet Connect-Time - upon 
  1529. re-connection, the connect-time will be reset to zero. The total connect time 
  1530. is saved when PM Patrol is shutdown and carried across each invocation of PM 
  1531. Patrol. The Internet Connect-Time is reliable as long as PM Patrol is active 
  1532. and able to monitor when Internet connects occur. 
  1533.  
  1534. The CPU Graph option enables or disables a visually graphic display of CPU 
  1535. activity. This option is accessible only when "CPU Monitor" is selected in 
  1536. "Status Line" monitors. 
  1537.  
  1538. The RAM Graph option enables or disables a visually graphic display of free or 
  1539. used Real RAM. If the "Show Inverted" option is selected, this will show used 
  1540. Real RAM. Otherwise, free and available Real RAM is displayed. This option is 
  1541. accessible only when "Real RAM Monitor" is selected in "Status Line" monitors. 
  1542.  
  1543. The Resident RAM Graph option enables ordisables a visually graphic display of 
  1544. current Resident RAM as compared to total physical memory. This option is 
  1545. accessible only when "Resident RAM" is selected in "Status Line" monitors. 
  1546.  
  1547. The Virtual RAM Graph option enables or disables a visually graphic display of 
  1548. free or used Virtual RAM. If the "Show Inverted" option is selected, this will 
  1549. show used Virtual RAM. Otherwise, free Virtual RAM is displayed. It is 
  1550. accessible only when "Virtual RAM" is selected in "Status Line" monitors. 
  1551.  
  1552. The Swap Graph option enables/disables a visually graphic display of current 
  1553. free or usedswap as compared to the current size of the swap file and is 
  1554. accessible only when "Swap Monitor" is selected in "Status Line" monitors. If 
  1555. the "Show Inverted" option is selected, this will show used Swap. Otherwise, 
  1556. free and available Swap is displayed. 
  1557.  
  1558.  
  1559. ΓòÉΓòÉΓòÉ 9.5. Status Line Monitors ΓòÉΓòÉΓòÉ
  1560.  
  1561. The Status Line Monitors list-box contains all the PM Patrol monitors that you 
  1562. may select for display on the PM Patrol Status Line. 
  1563.  
  1564. Selecting monitor items for the Status Line does NOT imply that these same 
  1565. selected monitors are those which are logged via PM Patrol's Logging facility. 
  1566. The Logging facility contains its own monitor selections and can be customized 
  1567. under the "Logger Settings" dialog. 
  1568.  
  1569. The Status Line is updated immediately when monitors are selected or 
  1570. deselected. 
  1571.  
  1572. These monitor items within the listbox are discussed in detail under the 
  1573. on-line help section called "Status Line". 
  1574.  
  1575.  
  1576. ΓòÉΓòÉΓòÉ 10. Monitors ΓòÉΓòÉΓòÉ
  1577.  
  1578. This section describes various performance monitors of PM Patrol. 
  1579.  
  1580.  
  1581. ΓòÉΓòÉΓòÉ 10.1. Activity Monitor ΓòÉΓòÉΓòÉ
  1582.  
  1583. The Activity Monitor window provides a line-graph view of several OS/2 
  1584. resources. 
  1585.  
  1586.    1. "Free Swap" is a blue line and represents free swapper space. When 
  1587.       enabled, the "Used Swap" graph line is disabled. 
  1588.  
  1589.    2. "Used Swap" is a blue line and represents used swapper space. When 
  1590.       enabled, the "Free Swap" graph line is disabled. Due to the nature and 
  1591.       dynamics of OS/2's method of virtual memory swapping, PM Patrol's 
  1592.       calculation of swap utilization can result in an approximation. 
  1593.  
  1594.    3. "Current CPU" is a yellow line and represents the current CPU 
  1595.       utilization. 
  1596.  
  1597.    4. "Average CPU" is a white line and represents the rolling average CPU 
  1598.       utilization. 
  1599.  
  1600.    5. "Magnified CPU" is a pink line (may be purplish on color depths greater 
  1601.       than 640x480) and represents a magnified CPU utilization. The level of 
  1602.       magnification is specified in "General Settings". By default, this option 
  1603.       is not enabled and is set for 90 percent magnification in General 
  1604.       Settings. This feature of PM Patrol lends itself to high-end i486 and 
  1605.       Pentium based CPUs. Magnification is not reflected in the normal CPU 
  1606.       monitor on the PM Patrol Status Line window. 
  1607.  
  1608.    6. "Free RAM" is a green line and represents memory available for OS/2 and 
  1609.       applications. When enabled, the "Used RAM" graph line is disabled. 
  1610.  
  1611.    7. "Used RAM" is a green line and represents the memory in use by OS/2 and 
  1612.       applications. When enabled, the "Free RAM" graph line is disabled. 
  1613.  
  1614.    8. "Resident RAM" is a cyan line represents resident non-swappable memory 
  1615.       locked by OS/2 or applications. 
  1616.  
  1617.    9. "Swappable RAM" is a red line and represents memory capable of being 
  1618.       swapped-out by OS/2. 
  1619.  
  1620.  This window is refreshed automatically at the frequency as set in the "Refresh 
  1621.  Settings" setting "Activity Monitor". 
  1622.  
  1623.  The following itemizes the mouse button activities for the Activity Monitor. 
  1624.  
  1625.    1. A "Chord-Click" (left and right mouse buttons together) in the Activity 
  1626.       Monitor window will toggle the window title bar on and off. 
  1627.  
  1628.    2. A "Double-Click" with the left button in the Activity Monitor window will 
  1629.       toggle between Maximized and Restore views for the window. This is a 
  1630.       useful feature when the "Hide Title Bar" feature is used. 
  1631.  
  1632.    3. A "Single-Click" with the right button in the Activity Monitor window 
  1633.       will popup a menu allowing you select which line graphs to view and 
  1634.       change window controls ("Hide Title Bar", "Smoothed Lines", and "Float to 
  1635.       Top"). 
  1636.  
  1637.    4. Holding down the right mouse button (button 2), you may drag the Activity 
  1638.       Monitor window to the desired position. 
  1639.  
  1640.  The "Float to Top" option enables or disables the Activity Monitor window 
  1641.  being kept as the "topmost" window on the OS/2 desktop and therefore visible 
  1642.  all the time. 
  1643.  
  1644.  When enabled, the "Smoothed Lines" option will attempt to "fillet" or 
  1645.  smooth-out the line graphs reducing the effect of sharp jagged points. 
  1646.  
  1647.  Note:  "Smoothed Lines" will cause more overhead during refresh. If you have a 
  1648.  slower machine, you should be aware of this. An additional 3-5% more overhead 
  1649.  per refresh is not uncommon - depending on the speed of your computer. 
  1650.  
  1651.  When enabled, the "Sliding Graph" option will maintain a continuous graph that 
  1652.  will slide left 1 point after each refresh, thus filling the entire window 
  1653.  width of the graphing area. Otherwise, the graph lines will be "centered" and 
  1654.  will cause graph lines to restart from the center of the graph window when the 
  1655.  graph lines reach the rightmost edge. 
  1656.  
  1657.  The "Hide Title Bar" option allows the window to be sized to a minimum size 
  1658.  without the window title bar and controls getting in the way. 
  1659.  
  1660.  Accessed from the Activity Monitor popup window, the Legend shows the identity 
  1661.  and color of each monitor line along with the current statistics for each 
  1662.  monitor item. The legend can be configured to start-up automatically when the 
  1663.  Activity Monitor is started by selecting the "Auto-Start Legend" option also 
  1664.  in the popup menu. 
  1665.  
  1666.  Additionally, the "Persistent Legend" causes the legend to be started and 
  1667.  remain visible while the Activity Monitor is in a maximized state. 
  1668.  
  1669.  
  1670. ΓòÉΓòÉΓòÉ 10.2. Process Monitor ΓòÉΓòÉΓòÉ
  1671.  
  1672. The Process Monitor window provides the ability to monitor OS/2 active 
  1673. processes, threads, process and thread priorities, shared memory, DLLs, and CPU 
  1674. use per process. Processes (PIDs) can be "killed" by selecting "Kill" from the 
  1675. "Action" menu. 
  1676.  
  1677. Note:  With all PM Patrol Monitor windows (i.e. Process Monitor, Memory 
  1678. Monitor, and Network Monitor) active and automatically refreshing, may be too 
  1679. much overhead for some slower 386 class computers. Therefore, you may need to 
  1680. use these windows selectively and not continuously. The Process Monitor window 
  1681. will increase PM Patrol's CPU requirements by an additional 1-3 percent 
  1682. depending on your CPU speed. 
  1683.  
  1684. The container control in the Process Monitor window supports right-click popups 
  1685. for quick access to "Action" items and double-click selections. Double-clicking 
  1686. in the Process Monitor window invokes the Thread Monitor for the Process ID 
  1687. selected. 
  1688.  
  1689. The "View" menu item provides options to let you select the desired Process 
  1690. Monitor display and the following detail items: 
  1691.  
  1692.    1. The "Background" option switches the display to include/exclude processes 
  1693.       which are "System" or "Detached" process types or have no Session ID 
  1694.       (SID). This option provides the ability to focus only on "Foreground" 
  1695.       programs active on your system. Foreground programs will include all OS/2 
  1696.       PM, OS/2 character based, and DOS+Windows programs. When background 
  1697.       processes are filtered-out, the Process Monitor window will show the 
  1698.       total CPU used by background processes under the name "Bgnd (n)". Where n 
  1699.       reflects the number of process in the background. 
  1700.  
  1701.    2. The "Idle Time" option switches the display to include/exclude Idle 
  1702.       System time. When applications consume CPU, "Idle System" will decrease. 
  1703.       When your system sits idle, "Idle System" increases. When enabled, idle 
  1704.       CPU will be shown under the name "Idle Time". 
  1705.  
  1706.    3. The "Run-Time" option provides the ability to view the duration for which 
  1707.       a process has been active and running and is only applicable to the 
  1708.       "Process Monitor" window. 
  1709.  
  1710.    4. The "Session Title" option switches the display from executable names to 
  1711.       session names and is applicable to the "Process Monitor" and "Process 
  1712.       Summary" windows only. Some instances will show what appears to be a 
  1713.       duplicate session name. This occurs when one or more processes have the 
  1714.       same OS/2 Group Session/Screen ID. There is NOT always a 1 to 1 
  1715.       relationship between a Process and a Session. 
  1716.  
  1717.       Note:  Not all processes have a Session and will therefore display the 
  1718.       executable name instead. This occurs when the process never had a Session 
  1719.       to begin with, such as a daemon processes ("Detached" or "System" session 
  1720.       types). 
  1721.  
  1722.    5. The "Float to Top" option enables or disables the Process Monitor window 
  1723.       being kept as the "topmost" window on the OS/2 desktop and therefore 
  1724.       visible all the time. When obscured by another window, the Process 
  1725.       Monitor window will "float" to the top of the desktop - but will not be 
  1726.       the active window. 
  1727.  
  1728.       Note:  Refer to the on-line help section "Trouble Shooting" for 
  1729.       idiosyncrasies associated with the "Float to Top" option under OS/2 
  1730.       versions 2.1 and 2.11. 
  1731.  
  1732.  Note:  The Process Monitor window will always attempt to display the Session 
  1733.  Title for DOS/Windows programs. In the event that this can not be 
  1734.  accomplished, the name "dos/win" will be used. 
  1735.  
  1736.  The "Process Meter" option provides an alternative access point for the 
  1737.  Process Meter window and can also be accessed from the PM Patrol Utility 
  1738.  pop-up window. 
  1739.  
  1740.  The data displayed in the Process Monitor window is outlined below. Press 
  1741.  Escape to exit the window and terminate the "Process Monitor" facility. 
  1742.  
  1743.    1. "PID" Process ID (displayed as a hex value) 
  1744.  
  1745.    2. "Type" Session Type of process. Session types are categorized as: 
  1746.  
  1747.         a. "Sys" OS/2 System type processes. 
  1748.  
  1749.         b. "PM " OS/2 Presentation Manager GUI processes. 
  1750.  
  1751.         c. "VIO" OS/2 Window and full screen command prompt processes. VIO 
  1752.            represents Virtual Input/Output. 
  1753.  
  1754.         d. "VDM" DOS and Win-OS2 GUI processes. VDM represents Virtual DOS 
  1755.            Machine. 
  1756.  
  1757.         e. "Det" OS/2 detached background processes (daemons). 
  1758.  
  1759.    3. "HPri" Identifies the Highest PRIority class for the process across all 
  1760.       threads within the process. Refer to the Thread Monitor section below for 
  1761.       detailed descriptions of priority Classes. 
  1762.  
  1763.    4. "Thd" Number of threads in the process 
  1764.  
  1765.    5. "Run-Time" represents the duration for which a process has been actively 
  1766.       running and has the format "dd hh:mm" where: 
  1767.  
  1768.         a. "dd" is Days 
  1769.  
  1770.         b. "hh" is Hours 
  1771.  
  1772.         c. "mm" is Minutes 
  1773.  
  1774.       Note:  The "Run-Time" of a process is relative to when PM Patrol was 
  1775.       started. If PM Patrol is stopped and then restarted, the "Run-Time" for 
  1776.       processes will reset. It is recommended that PM Patrol be placed in the 
  1777.       OS/2 "Startup" folder so it is automatically started when you boot your 
  1778.       system. As a result, the "Run-Time" values will reflect very accurate 
  1779.       results. 
  1780.  
  1781.    6. "CPU" Amount of Relative CPU time the process (PID) consumed since the 
  1782.       last sample along with a bar-graph representation and percentage of total 
  1783.       CPU load across all processes. This is a "relative" CPU load as compared 
  1784.       to other active OS/2, DOS, and Windows programs. 
  1785.  
  1786.    7. "Process" Name of the executable or session 
  1787.  
  1788.  The data displayed in the Process Summary is outlined below. Press Escape to 
  1789.  exit the window and return to "Process Monitor". 
  1790.  
  1791.    1. "PID" Process ID (displayed as a hex value) 
  1792.  
  1793.    2. "PPID" Parent Process ID (displayed as a hex value) 
  1794.  
  1795.    3. "SID" Session ID (displayed as a hex value) 
  1796.  
  1797.    4. "Type" Session Type of process 
  1798.  
  1799.    5. "HMod" Program Executable module handle (displayed as a hex value) 
  1800.  
  1801.    6. "Thd" Number of threads in the PID 
  1802.  
  1803.    7. "Sem" Number of semaphores used by the PID 
  1804.  
  1805.    8. "DLL" Number of DLL modules used by the PID 
  1806.  
  1807.    9. "Shr" Number of shared memory references used by PID 
  1808.  
  1809.   10. "MMT" Memory Model Type of process (16 or 32 bit) 
  1810.  
  1811.   11. "Process" Name of the executable or session 
  1812.  
  1813.  The data displayed in the Thread Monitor window is for a given PID and is 
  1814.  outlined below. Press Escape to exit the window and return to "Process 
  1815.  Monitor". 
  1816.  
  1817.    1. "TID" Thread ID (displayed as a hex value). 
  1818.  
  1819.    2. "Slot" Slot ID for the TID (displayed as a hex value). 
  1820.  
  1821.    3. "Block ID" Block identifier for a blocked TID (displayed as a hex value). 
  1822.       A thread that is a "Ready" state will typically have a "Block ID" of 
  1823.       zero. 
  1824.  
  1825.    4. "Pri" Current priority for the TID.  This displays both priority Class 
  1826.       along with the current Range priority (display in decimal format) within 
  1827.       the Class. Priority "Ranges" operate within a priority Class and range 
  1828.       from 0 to 31, 0 being the lowest and the "normal" OS/2 default. The Range 
  1829.       provides robust priority control and granularity. Priority Classes are 
  1830.       categorized as: 
  1831.  
  1832.         a. "Idle" for low priority processes which only get CPU when nothing 
  1833.            else is running and the lowest OS/2 priority. 
  1834.  
  1835.         b. "Reg" for "normal" priority processes. This is the OS/2 default and 
  1836.            will be seen most often. 
  1837.  
  1838.         c. "Fore" for foreground priority processes. This is used for 
  1839.            processes/threads which need to be treated as if they are the 
  1840.            "active" window. Net effect of this class makes the process thread 
  1841.            operate at near time-critical performance. 
  1842.  
  1843.         d. "Crit" for time-critical processes and is the highest OS/2 priority. 
  1844.            This is used for process threads which require guaranteed 
  1845.            time-slices by OS/2 but the thread's CPU needs are typically very 
  1846.            short. 
  1847.  
  1848.    5. "Sys CPU" Amount of time thread spends in the OS/2 kernel along with the 
  1849.       percent of "Sys CPU" compared to TOTAL "Sys CPU" for all threads in the 
  1850.       same PID. 
  1851.  
  1852.    6. "User CPU" Amount of time application time for the thread along with the 
  1853.       percentage of "User CPU" compared to TOTAL "User CPU" for all threads in 
  1854.       the same PID.  This is relative to other threads getting time slices in 
  1855.       the same PID. 
  1856.  
  1857.    7. "State" Identifies what state the thread is in: Blocked, Frozen, Running, 
  1858.       or Ready. 
  1859.  
  1860.  The data displayed in Shared Memory window has the following attributes: Press 
  1861.  Escape to exit the window and return to "Process Monitor". 
  1862.  
  1863.    1. "HMem" Handle to memory allocation (displayed as a hex value) 
  1864.  
  1865.    2. "Sel" Selector to memory (displayed as a hex value) 
  1866.  
  1867.    3. "Refs" Number of references to the memory 
  1868.  
  1869.    4. "Name" Name of the memory used for obtaining addressability 
  1870.  
  1871.  The data displayed in the Dynamic Link Libs, Device Drivers, and File Systems 
  1872.  are outlined below. Press Escape to exit the window and return to "Process 
  1873.  Monitor". 
  1874.  
  1875.    1. "HMod" Handle to the module (displayed as a hex value) 
  1876.  
  1877.    2. "MMT" Memory Model Type of process (16 or 32 bit) 
  1878.  
  1879.    3. "Refs" Number of references to the module 
  1880.  
  1881.    4. "Name" Name of the module 
  1882.  
  1883.  
  1884. ΓòÉΓòÉΓòÉ 10.3. Process Meter ΓòÉΓòÉΓòÉ
  1885.  
  1886. The Process Meter window provides the ability to monitor process statistics for 
  1887. identifying duration and CPU consumption over a range of time. 
  1888.  
  1889. The "Process Metering" option in the PM Patrol "General Settings" dialog 
  1890. controls when this feature is active or inactive. For slower systems (i386 
  1891. class computers), turn Process Metering off if it is not used. 
  1892.  
  1893. By default, PM Patrol resets the Process Meter data base each time PM Patrol is 
  1894. started. This "Startup" option in PM Patrol's "General Settings" window 
  1895. controls this behavior. To keep PM Patrol from resetting the statistics, turn 
  1896. off the "Reset Process Meter" option. Doing so will cause PM Patrol to retain 
  1897. statistics across each invocation of PM Patrol. 
  1898.  
  1899. At the refresh interval as specified by "Process Monitors" in PM Patrol's 
  1900. "Refresh Settings", PM Patrol quietly collects vital information about active 
  1901. processes running on your system. The data collection algorithm used within the 
  1902. Process Meter facility is highly optimized and based on how frequently programs 
  1903. are used on your system, therefore using minimal CPU effort. 
  1904.  
  1905. All data is obtained by PM Patrol and requires no user input. 
  1906.  
  1907. The "Process Meter" window provides the ability to view several items about 
  1908. your programs over a range of time. This range of time is completely under your 
  1909. control as you have the ability to "Reset" the Process Meter data base any 
  1910. time. 
  1911.  
  1912.    1. Analyze the CPU consumption for each program you run relative to ALL 
  1913.       other programs that have been run since the last time you reset the 
  1914.       statistics. 
  1915.  
  1916.    2. Analyze the execution time used for each program you run relative to ALL 
  1917.       other programs that have been run since the last time you reset the 
  1918.       statistics. 
  1919.  
  1920.    3. Analyze the number of instances a program has been invoked. 
  1921.  
  1922.    4. Analyze the first and most recent date of execution for all processes run 
  1923.       on your OS/2 system. 
  1924.  
  1925.    5. Analyze the process types and priorities for all processes run on your 
  1926.       OS/2 system. 
  1927.  
  1928.    6. Sort in ascending order by process, CPU use, Run-Time, and frequency of 
  1929.       use. 
  1930.  
  1931.         a. Sort by Process sorts the list in alphabetic (ascending) order. 
  1932.  
  1933.         b. Sort by CPU Use sorts the list in descending order (processes 
  1934.            consuming most CPU are listed first). 
  1935.  
  1936.         c. Sort by Run-Time sorts the list in descending order (processes which 
  1937.            run the longest when executed are listed first). 
  1938.  
  1939.         d. Sort by Run-Count sorts the list in descending order (processes 
  1940.            which get run the most often are listed first). 
  1941.  
  1942.  Use the "Refresh" menu option (under "Action") for refreshing the Process 
  1943.  Meter window contents upon your request. PM Patrol will automatically update 
  1944.  this window for you every minute - but not when the Process Meter window is 
  1945.  the current "active" desktop window. This allows you to browse through the 
  1946.  list without being disturbed. 
  1947.  
  1948.  Use the "Reset Data Base" menu option (also under "Action") to initialize PM 
  1949.  Patrol's Process Meter data base. This erases the current list and restarts 
  1950.  the data collection process allowing you to monitor over a new range of time. 
  1951.  
  1952.  The Process Meter data base is maintained entirely by PM Patrol and saved when 
  1953.  PM Patrol is shutdown. The next time you run PM Patrol (typically at the next 
  1954.  OS/2 bootup) the data base is quickly reloaded and monitoring continues where 
  1955.  left off. 
  1956.  
  1957.  Note:  The CPU effort to collect Process Meter data, although minimal when 
  1958.  active, can be negatively influenced by adjusting the "Process Monitors" 
  1959.  frequency in PM Patrol's "Refresh Settings" dialog too low - depending on the 
  1960.  computer. As a rule of thumb, set the "Process Monitors" frequency to the 
  1961.  following, but never lower: 
  1962.  
  1963.    1. 5 seconds for i386 class computers 
  1964.  
  1965.    2. 4 seconds for i486 class computers 
  1966.  
  1967.    3. 3 seconds for Pentium class computers 
  1968.  
  1969.  The items displayed in the Process Meter window are: 
  1970.  
  1971.    1. "Process" represents the name of the executable 
  1972.  
  1973.    2. "Actual CPU" represents the actual CPU effort the process has used since 
  1974.       the last time the Process Meter was reset and reflects CPU usage only 
  1975.       when the process is active. This is an absolute CPU effort and not 
  1976.       relative to other programs run. Actual CPU tells you how much CPU the 
  1977.       process uses when its run. 
  1978.  
  1979.    3. "Relative CPU" represents the CPU effort the process has used, relative 
  1980.       to other programs used, since the last time the Process Meter was reset. 
  1981.  
  1982.    4. "Run-Time" represents the total amount of execution time for the process, 
  1983.       relative to other programs used, since the last time you performed a 
  1984.       "Reset Data Base". Next to "Run-Time" is the total execution time or 
  1985.       "Duration" for the process since the last "Reset Data Base". The format 
  1986.       displayed identifies Days, Hours, Minutes, and Seconds (Dd Hh:Mm.Ss). 
  1987.  
  1988.    5. "Run-Count" represents the total number of times the process has been 
  1989.       executed relative to other processes. The actual total number of 
  1990.       instances is identified under the heading "Frequency" (abbreviated as 
  1991.       "Freq"). 
  1992.  
  1993.    6. "Type" identifies the session type which are categorized as follows: 
  1994.  
  1995.         a. "Sys" OS/2 System type processes. 
  1996.  
  1997.         b. "PM " OS/2 Presentation Manager GUI processes. 
  1998.  
  1999.         c. "VIO" OS/2 Window and full screen command prompt processes. VIO 
  2000.            represents Virtual Input/Output. 
  2001.  
  2002.         d. "VDM" DOS and Win-OS2 GUI processes. VDM represents Virtual DOS 
  2003.            Machine. 
  2004.  
  2005.         e. "Det" OS/2 detached background processes (daemons). 
  2006.  
  2007.    7. "HPri" Identifies the Highest PRIority class for the process across all 
  2008.       threads within the process. The range of priority within OS/2 provides 
  2009.       robust priority control and granularity. Priority Classes are categorized 
  2010.       as: 
  2011.  
  2012.         a. "Idle" for low priority processes which only get CPU when nothing 
  2013.            else is running and the lowest OS/2 priority. 
  2014.  
  2015.         b. "Reg" for "normal" priority processes. This is the OS/2 default and 
  2016.            will be seen most often. 
  2017.  
  2018.         c. "Fore" for foreground priority processes. This is used for 
  2019.            processes/threads which need to be treated as if they are the 
  2020.            "active" window. Net effect of this class makes the process thread 
  2021.            operate at near time-critical performance. 
  2022.  
  2023.         d. "Crit" for time-critical processes and is the highest OS/2 priority. 
  2024.            This is used for process threads which require guaranteed 
  2025.            time-slices by OS/2 but the thread's CPU needs are typically very 
  2026.            short. 
  2027.  
  2028.    8. "MMT" represents the Memory Model Type of process (16 or 32 bit) 
  2029.  
  2030.    9. "Last Run" represents the last recent date the process was executed. 
  2031.  
  2032.   10. "First Run" represents the first date the process was executed. 
  2033.  
  2034.  Note:  This release of PM Patrol's Process Meter groups together the Run-time 
  2035.  and CPU efforts for all DOS+Win programs and identifies them in the Process 
  2036.  Meter list with a Process name of "DOS/Win". OS/2 command and REXX scripts 
  2037.  (.CMD) are reflected within the Process "cmd" - the actual executable which 
  2038.  supports REXX scripts. 
  2039.  
  2040.  
  2041. ΓòÉΓòÉΓòÉ 10.4. Memory Monitor ΓòÉΓòÉΓòÉ
  2042.  
  2043. The Memory Monitor window provides an optional view of several memory 
  2044. utilization monitors. 
  2045.  
  2046. This window is refreshed automatically at the frequency as set in the "Refresh 
  2047. Settings" setting "Memory Monitors". 
  2048.  
  2049.    1. The RAM Free item identifies current free memory. 
  2050.  
  2051.    2. The RAM Used item identifies current used memory. Combined, these two 
  2052.       items will always reflect 100% of the memory installed in your computer. 
  2053.  
  2054.    3. The Resident item identifies current resident or "fixed" memory which is 
  2055.       not swappable by OS/2. Most of this memory is owned and created by OS/2 
  2056.       and will vary little. 
  2057.  
  2058.    4. The Swappable item identifies current swappable memory and only includes 
  2059.       memory that is in use and not resident (or fixed). Therefore, the sum of 
  2060.       "Resident" and "Swappable" may not always equate to total physical 
  2061.       memory. Any difference can be attributed to free (unused) memory which is 
  2062.       not swapped. 
  2063.  
  2064.    5. The Virtual RAM item identifies current Virtual Memory capacity available 
  2065.       to OS/2. This item factors in available disk space for the drive which 
  2066.       the OS/2 swapper file is located as well as swapper file size. 
  2067.  
  2068.    6. The Swap Growth item identifies how much the swapper file has grown since 
  2069.       system boot. 
  2070.  
  2071.    7. The Swap Free item identifies how much free space remains in the OS/2 
  2072.       swapper file. 
  2073.  
  2074.    8. The Cache Read and Cache Write items identify the cache hit utilization 
  2075.       for HPFS386 and is only displayed when HPFS386 is installed and active. 
  2076.  
  2077.  Note:  With all PM Patrol Monitor windows (ie. Process Monitor, Memory 
  2078.  Monitor, and Network Monitor) active and automatically refreshing, there may 
  2079.  be too much overhead for some slower 386 class computers. Therefore, you may 
  2080.  need to use these windows selectively and not continuously. 
  2081.  
  2082.  
  2083. ΓòÉΓòÉΓòÉ 10.5. Network Monitor ΓòÉΓòÉΓòÉ
  2084.  
  2085. The Network Monitor window provides an optional view of several LAN network 
  2086. utilization monitors. 
  2087.  
  2088. This window is refreshed automatically at the frequency as set in the "Refresh 
  2089. Settings" setting "Network Monitors". 
  2090.  
  2091. The Network Monitor window is inaccessible and grayed-out in the PM Patrol 
  2092. Utility menu when LAN Server components are not installed on the workstation. 
  2093.  
  2094.    1. The Machine item identifies the workstation ID and does not change unless 
  2095.       the workstation id is changed manually and the system rebooted. 
  2096.  
  2097.    2. The User item identifies the current user logged to the LAN. 
  2098.  
  2099.    3. The Server Id item identifies the server ID that is currently logged on 
  2100.       to by the active user. 
  2101.  
  2102.    4. The Domain item identifies the domain ID that is currently logged on to 
  2103.       by the active user. 
  2104.  
  2105.    5. The Tot In item identifies the total accumulative bytes received by this 
  2106.       workstation from the LAN. The graph identifies "Total In" as compared to 
  2107.       total bytes received AND sent and therefore is a percent of total I/O. 
  2108.  
  2109.    6. The Tot Out item identifies the total accumulative bytes sent by this 
  2110.       workstation to the LAN. The graph identifies "Total Out" as compared to 
  2111.       total bytes received AND sent and therefore is a percent of total I/O. 
  2112.  
  2113.    7. The Bps In item identifies "Bytes Per Second" and is the average number 
  2114.       of bytes RECEIVED via LAN over the last "n" seconds where "n" is the 
  2115.       refresh frequency as set in the "Refresh Settings" setting "Network 
  2116.       Monitors". This offers a "snapshot" view of current average per second 
  2117.       inbound activity from the network. 
  2118.  
  2119.    8. The Bps Out item identifies "Bytes Per Second" and is the average number 
  2120.       of bytes SENT via LAN over the last "n" seconds where "n" is the refresh 
  2121.       frequency as set in the "Refresh Settings" setting "Network Monitors". 
  2122.       This offers a "snapshot" view of current average per second outbound 
  2123.       activity from the network. 
  2124.  
  2125.    9. The Bss In item identifies "Bytes Since last Sample" and is the total 
  2126.       number of bytes received via LAN over the last "n" seconds where "n" is 
  2127.       the refresh frequency as set in the "Refresh Settings". 
  2128.  
  2129.   10. The Bss Out item identifies "Bytes Since last Sample" and is the average 
  2130.       number of bytes sent via LAN over the last "n" seconds where "n" is the 
  2131.       refresh frequency as set in the "Refresh Settings". 
  2132.  
  2133.  Note:  With all PM Patrol Monitor windows (ie. Process Monitor, Memory 
  2134.  Monitor, and Network Monitor) active and automatically refreshing, may be too 
  2135.  much overhead for some slower 386 class computers. Therefore, you may need to 
  2136.  use these windows selectively and not continuously. 
  2137.  
  2138.  
  2139. ΓòÉΓòÉΓòÉ 10.6. Port Monitor ΓòÉΓòÉΓòÉ
  2140.  
  2141. The Port Monitor window provides insight and advanced control over LPT parallel 
  2142. ports on your system. 
  2143.  
  2144. This window is refreshed automatically in real-time as events occur for all 
  2145. ports. Refresh occurs when the port is opened, closed, and after every 10 
  2146. packets pass through the port device driver. 
  2147.  
  2148. Using the "Reset" menu option, you can initialize the current statistics for 
  2149. each port. This option will reset all statistics for ALL ports, but will keep 
  2150. the LPT Controls (Pass-thru and Debug) in their current settings. PM Patrol 
  2151. will retain these statistics across each invocation of PM Patrol. It is up to 
  2152. you when you want these statistics initialized. 
  2153.  
  2154. Controlled from the "Spooler" priority object within the OS/2 System Setup 
  2155. folder, printing performance can be fine tuned for print jobs that are sent 
  2156. through the OS/2 spooler. 
  2157.  
  2158. Printing can be monitored via PM Patrol's Port Monitor whether the OS/2 spooler 
  2159. is active or not. 
  2160.  
  2161.    1. The Port item identifies the LPT port. 
  2162.  
  2163.    2. The Jobs item identifies the current total number of jobs having passed 
  2164.       through the LPT port. Technically speaking, "jobs" constitutes each time 
  2165.       the port was opened for I/O. 
  2166.  
  2167.    3. The Rate item identifies the total bytes per second (BPS) that have been 
  2168.       sent and received via the LPT port. This value is very accurate, but can 
  2169.       be influenced greatly if the "Debug" option is enabled. This value 
  2170.       constitutes an average over ACTUAL time (milliseconds) that the port is 
  2171.       open. 
  2172.  
  2173.    4. The Time item identifies the average time (seconds) for print jobs. 
  2174.  
  2175.    5. The Pass item identifies the current status of the Pass-thru option. When 
  2176.       enabled, all I/O is allowed to pass through the LPT device driver. 
  2177.       Otherwise, all I/O is "eaten". This is beneficial when simulation is 
  2178.       required. 
  2179.  
  2180.    6. The Debug item identifies the current state of "Debugging". 
  2181.  
  2182.    7. The Act item identifies whether an active job currently exists on the 
  2183.       port. 
  2184.  
  2185.  Turning on the "Debug" option allows you to monitor and watch each packet sent 
  2186.  to the port via the Debug viewing window. This feature is designed to allow 
  2187.  monitoring of packets via Debug. Using the new Debug facility, individual 
  2188.  packets can be monitored providing "data scope" capability. When Debug is 
  2189.  enabled for a selected LPT port, an artificial delay (1 second) is inserted 
  2190.  between each packet sent to the port. 
  2191.  
  2192.  The "Pass-thru" option allows you to enable/disable data to be passed through 
  2193.  the port. Used primarily for testing purposes, this feature enables the 
  2194.  simulation of port activity without an actual printer be attached. 
  2195.  
  2196.  Note:  With all PM Patrol Monitor windows (ie. Process Monitor, Memory 
  2197.  Monitor, and Network Monitor) active and automatically refreshing, may be too 
  2198.  much overhead for some slower 386 class computers. Therefore, you may need to 
  2199.  use these windows selectively and not continuously. 
  2200.  
  2201.  
  2202. ΓòÉΓòÉΓòÉ 10.7. Event Monitor ΓòÉΓòÉΓòÉ
  2203.  
  2204. The Event Monitor window allows you to view the current state of PM Patrol 
  2205. events from a "bird's eye view". 
  2206.  
  2207. The Event items reflect each of the events within PM Patrol. 
  2208.  
  2209. Active represents the current activity state of each event. A check mark will 
  2210. be displayed when the event is active. 
  2211.  
  2212. THold identifies the upper or lower Threshold limit for each event as defined 
  2213. in "Event Settings". This allows you to compare the event state and the 
  2214. threshold limit to exceed. 
  2215.  
  2216. Count identifies the number of times the event occured. This value is 
  2217. incremented each time the event threshold is exceeded the first time, but not 
  2218. upon renotification. 
  2219.  
  2220. Last State and Occurrance identifies the resource "state", date, and time when 
  2221. the event last occured. These values are updated the first time the event 
  2222. occurs and at renotification. 
  2223.  
  2224. Selecting "Reset" from the "Action" menu will allow you to initialize all event 
  2225. statistics. Event statistics are retained and accumulate across each invocation 
  2226. of PM Patrol. It is up to you when you want to reset the event statistics. 
  2227.  
  2228. This window is updated when an event occurs as well as every minute. 
  2229.  
  2230.  
  2231. ΓòÉΓòÉΓòÉ 10.8. Drives Monitor ΓòÉΓòÉΓòÉ
  2232.  
  2233. The Drives Monitor window allows you to view current drive attachments, current 
  2234. assignments (LAN), capacity, and used/free space. 
  2235.  
  2236. For network performance reasons, this window is refreshed automatically every 
  2237. minute on its own and can not be controlled from the "Refresh Settings" 
  2238. options. Use the drop-down menu option "Refresh" (under the "Action" menu) to 
  2239. manually refresh the window yourself. 
  2240.  
  2241. The "Utilization" graph displayed identifies USED space on the drive - not 
  2242. free. 
  2243.  
  2244.  
  2245. ΓòÉΓòÉΓòÉ 10.9. Status Line ΓòÉΓòÉΓòÉ
  2246.  
  2247. This section describes the monitor items that can be displayed on the main PM 
  2248. Patrol Status Line. 
  2249.  
  2250.  
  2251. ΓòÉΓòÉΓòÉ 10.9.1. Current Date ΓòÉΓòÉΓòÉ
  2252.  
  2253. Display of the current date. Selecting the "Show Julian Date" will add the 
  2254. current Julian date to this item. 
  2255.  
  2256.  
  2257. ΓòÉΓòÉΓòÉ 10.9.2. Current Time ΓòÉΓòÉΓòÉ
  2258.  
  2259. Display of the current time with the option of showing seconds as part of the 
  2260. time when "Show Seconds" is selected in the "Options" dialog. 
  2261.  
  2262.  
  2263. ΓòÉΓòÉΓòÉ 10.9.3. System Up-Time ΓòÉΓòÉΓòÉ
  2264.  
  2265. Display the total time that OS/2 has been up and running since last boot. 
  2266.  
  2267. The PM Patrol Status Line display for this monitor will reflect the format "dd 
  2268. hh:mm" representing "days", "hours", and "minutes". 
  2269.  
  2270.  
  2271. ΓòÉΓòÉΓòÉ 10.9.4. INet Connect-Time ΓòÉΓòÉΓòÉ
  2272.  
  2273. Displays the per-instance Internet Connect-Time that the workstation has been 
  2274. connected to the Internet when using a modem and the "Point-to-Point Protocol" 
  2275. (PPP) or the "Serial Line IP" (SLIP) of IBM's Internet Access Kit. 
  2276.  
  2277. The PM Patrol Status Line display for this monitor will reflect the format 
  2278. "INet: hh:mm x" representing "hours" and "minutes". The "x" is an indicator to 
  2279. inform you when your connected. A flashing arrow pointing up indicates your're 
  2280. connected. An arrow pointing down indicates your not. 
  2281.  
  2282. Used in conjunction with this feature, the "Show Total INet" option in PM 
  2283. Patrol's Options window will display the ongoing accumulative total of Internet 
  2284. Connect-Time in addition to the per-instance connect-time. 
  2285.  
  2286. This per-instance connect-time will automatically reset to zero when PM Patrol 
  2287. is stopped and then restarted, or when a new INet connection is established. PM 
  2288. Patrol stores the total INet connect-time in PM Patrol's profile. This Total 
  2289. INEt counter can only be reset manually. For manual reset, refer the Utility 
  2290. popup option ("Display" menu item) for "Reset Internet Time". 
  2291.  
  2292. The INet Connect-Time feature of PM Patrol does not apply to TCP/IP connections 
  2293. via a LAN. 
  2294.  
  2295.  
  2296. ΓòÉΓòÉΓòÉ 10.9.5. Keyboard Status ΓòÉΓòÉΓòÉ
  2297.  
  2298. The Keyboard Status displays the status of CapsLock, NumLock, and ScrollLock 
  2299. keyboard settings. 
  2300.  
  2301.  
  2302. ΓòÉΓòÉΓòÉ 10.9.6. Net User ID ΓòÉΓòÉΓòÉ
  2303.  
  2304. When logged-on to a LAN Server, the current "User ID" is displayed. This 
  2305. options requires that IBM LAN Requester network software be installed on the 
  2306. local workstation. 
  2307.  
  2308.  
  2309. ΓòÉΓòÉΓòÉ 10.9.7. Spooler Monitor ΓòÉΓòÉΓòÉ
  2310.  
  2311. This item allows you to monitor print jobs that are in print queues.  This 
  2312. includes print jobs that are Held, Printing, Canceling, and other dispositions. 
  2313. There is two types of monitoring: 
  2314.  
  2315.    1. Display total print jobs across all spooler queues. 
  2316.  
  2317.    2. Display total print jobs per spooler queue. 
  2318.  
  2319.  The "Total all Queues" option in the "General Settings" switches between the 
  2320.  two modes identifies above. 
  2321.  
  2322.  When logged-on to a LAN Server you can monitor its remote print queues. Refer 
  2323.  to the "General Settings" section for more details. 
  2324.  
  2325.  
  2326. ΓòÉΓòÉΓòÉ 10.9.8. Process Summary ΓòÉΓòÉΓòÉ
  2327.  
  2328. This display item reveals the total current number of OS/2 processes and 
  2329. threads in the system. This includes PIDs and TIDs of any state; Blocked, 
  2330. Running, and Ready. 
  2331.  
  2332. The Process Summary items are displayed as follows; the numbers shown below are 
  2333. examples: 
  2334.  
  2335.    1. "12p" representing 14 active processes (p). 
  2336.  
  2337.    2. "63t" representing 63 active threads (t). 
  2338.  
  2339.    3. "105f" representing 105 open files (f). Open files includes all 
  2340.       executables, data files, INI files, DLLs, WPS objects, and any other type 
  2341.       of file you can think of. 
  2342.  
  2343.  
  2344. ΓòÉΓòÉΓòÉ 10.9.9. Drives On-line ΓòÉΓòÉΓòÉ
  2345.  
  2346. This item displays the current drive letters for available drives accessible 
  2347. from this computer.  Network drives are supported. 
  2348.  
  2349.  
  2350. ΓòÉΓòÉΓòÉ 10.9.10. Drive 1-6 Monitors ΓòÉΓòÉΓòÉ
  2351.  
  2352. Displays the free space (MB) for a selected drive. To select a different drive 
  2353. to monitor you may choose you one of the following methods: 
  2354.  
  2355.    1. Single click the right mouse button on the PM Patrol Status Line and then 
  2356.       select the "Drives" menu item.  Select "Monitor" to choose a drive. 
  2357.  
  2358.    2. Double click the left mouse button on the PM Patrol Status Line to get 
  2359.       the Options dialog.  Then select the "Utility" menu bar item followed by 
  2360.       the "Drives" menu option. 
  2361.  
  2362.  Selected drives will be permanently "remembered" as defaults when changed. 
  2363.  
  2364.  Selected drives will report a "?" when the drive changes "off-line".  This can 
  2365.  occur if the drive is a network drive and the user performs a LOGOFF.  Or, 
  2366.  removing a removable media type such as a floppy diskette. 
  2367.  
  2368.  By default, PM Patrol maps drives 1 through 6 on the Status Line to drives C 
  2369.  through H. This drive mapping can be changed to any desired combination. 
  2370.  
  2371.    1. From the PM Patrol Status Line, right-click the Status Line. 
  2372.  
  2373.    2. Select the "Drives" menu option 
  2374.  
  2375.    3. Then select the "Status Line" option. 
  2376.  
  2377.    4. This will display a menu identifying the current drive mappings assigned. 
  2378.       Select the PM Patrol drive number you wish to change. 
  2379.  
  2380.    5. A mini dialog will popup displaying current drives on-line and 
  2381.       accessible. Choose which drive to map. 
  2382.  
  2383.    6. To tell PM Patrol to show the drive on the Status Line select the drive 
  2384.       number in PM Patrol's "Status Line Monitors" in the "Options" dialog. 
  2385.  
  2386.    7. This information is saved and remembered by PM Patrol. 
  2387.  
  2388.  When a drive being monitored goes off-line, PM Patrol displays a "?" in place 
  2389.  of the free space for the drive to inform you the drive is off-line. This is 
  2390.  more common when monitoring remote drives on a network. 
  2391.  
  2392.  
  2393. ΓòÉΓòÉΓòÉ 10.9.11. Battery Status ΓòÉΓòÉΓòÉ
  2394.  
  2395. This item informs the user how much battery power is remaining. 
  2396.  
  2397. The OS/2 APM facilities assume the battery to be 100% new. As the battery ages, 
  2398. the original maximum life of the battery diminishes. Especially for NICad 
  2399. batteries. PM Patrol allows you to specify a "new" maximum life. When set at 
  2400. zero, observe the PM Patrol "Bat" percentage. When your computer informs you 
  2401. the battery is dangerously low (usually several short beeps), observe the 
  2402. percentage that PM Patrol reports. This value becomes the new "zero" point. 
  2403. Select this value in the "Battery Calibration" field in the "General Settings" 
  2404. dialog. Repeat this process every 3-4 months to ensure accurate and reliable 
  2405. battery readings. 
  2406.  
  2407. Note:  This option is accessible only if APM is installed via OS/2 and the 
  2408. computer is a mobile computer capable of power management (i.e. 386sl+). 
  2409.  
  2410. When (and if) the battery status is unknown, PM Patrol displays a question mark 
  2411. in replacement of the actual percentage of power remaining. 
  2412.  
  2413.  
  2414. ΓòÉΓòÉΓòÉ 10.9.12. HPFS386 Cache Monitor ΓòÉΓòÉΓòÉ
  2415.  
  2416. PM Patrol will monitor the read/write cache hit ratio for systems running the 
  2417. 32-bit High Performance File System (HPFS386). 
  2418.  
  2419. The read/write percentages are displayed on the PM Patrol Status Line with the 
  2420. abbreviation "Crw". This abbreviation represents "Cache Read Writes", so the 
  2421. first percentage seen is Reads and the second percentage is writes. 
  2422.  
  2423. Note:  This version of PM Patrol only supports the ability to obtain Cache 
  2424. ratios from HPFS386 and not the 16-bit HPFS shipped with OS/2. PM Patrol will 
  2425. display a "?" if HPFS386 Cache Monitoring is selected but not installed/active. 
  2426.  
  2427.  
  2428. ΓòÉΓòÉΓòÉ 10.9.13. Swap Monitor ΓòÉΓòÉΓòÉ
  2429.  
  2430. This display option displays the current size of the OS/2 swapper file. If the 
  2431. "Show Percent" option for this monitor is selected, then the percent of free or 
  2432. used swap space is also displayed. When the "Show Inverted" option is selected, 
  2433. this will show used Swap. Otherwise, free and available Swap is displayed. 
  2434.  
  2435. Due to the nature and dynamics of OS/2's method of virtual memory swapping, PM 
  2436. Patrol's calculation of free swap space is an approximation and may not result 
  2437. in an exact calculation all the time. As compared to all PM Patrol's resource 
  2438. monitors, swap utilization is the only one that may yield approximation. For 
  2439. systems that are memory rich and therefore swap little, monitoring swap 
  2440. utilization may not be necessary. 
  2441.  
  2442.  
  2443. ΓòÉΓòÉΓòÉ 10.9.14. Virtual RAM Monitor ΓòÉΓòÉΓòÉ
  2444.  
  2445. Virtual RAM item identifies current Virtual Memory capacity available to OS/2. 
  2446. This item factors in available disk space for the drive which the OS/2 swapper 
  2447. file is located as well as swapper file size. When the "Show Inverted" option 
  2448. is selected, this will show used Virtual Memory. Otherwise, free and available 
  2449. Virtual Memory is displayed. If the "Show Percent" option for this monitor is 
  2450. selected, then the percent of free or used Virtual RAM is also displayed. 
  2451.  
  2452.  
  2453. ΓòÉΓòÉΓòÉ 10.9.15. Resident RAM Monitor ΓòÉΓòÉΓòÉ
  2454.  
  2455. The Resident RAM monitor allows you to see OS/2 memory which is non-swappable 
  2456. fixed memory. Typically, this will include OS/2 system memory and any memory 
  2457. allocated by processes which is marked as non-discardable memory. If the "Show 
  2458. Percent" option for this monitor is selected, then the percent of free or used 
  2459. Resident RAM is also displayed. 
  2460.  
  2461.  
  2462. ΓòÉΓòÉΓòÉ 10.9.16. Real RAM Monitor ΓòÉΓòÉΓòÉ
  2463.  
  2464. This displays the amount of free or used RAM (k). When "Show Percent" is 
  2465. selected for this monitor, the percentage of RAM is also displayed. When the 
  2466. "Show Inverted" option is selected, Real RAM will be reported as used Real RAM. 
  2467. Otherwise, free and available Real RAM is displayed. 
  2468.  
  2469. Optionally, you can view free or used RAM in bar-graph form by enabling the 
  2470. "RAM Graph" option in the "Quick Configure" section of the "Options" dialog. 
  2471.  
  2472. OS/2 views memory as a flat linear address space and deploys a true Virtual 
  2473. Memory Model. Because of this, calculation of Free Memory is subject to the 
  2474. following constraint. 
  2475.  
  2476. Note:  If your system hardware consists of MORE than 16MB of memory and the 
  2477. hard disk controller is a 16-bit adapter, calculation of Free Memory may not be 
  2478. accurately reported. Use a 32-bit disk controller adapter with more than 16MB 
  2479. RAM. 
  2480.  
  2481.  
  2482. ΓòÉΓòÉΓòÉ 10.9.17. CPU Monitor ΓòÉΓòÉΓòÉ
  2483.  
  2484. PM Patrol monitors the CPU utilization every second. If the "CPU Graph" has 
  2485. been enabled in the Options dialog, then a bar-graph view of CPU usage is 
  2486. displayed in addition to the percentage. 
  2487.  
  2488. Along with the current CPU load, PM Patrol also maintains a rolling average of 
  2489. CPU utilization over 1 minute. This is called the "CPU Average" in PM Patrol. 
  2490.  
  2491.  
  2492. ΓòÉΓòÉΓòÉ 10.9.18. User Defined Monitor ΓòÉΓòÉΓòÉ
  2493.  
  2494. PM Patrol provides a "user defined" monitor to be displayed at the end of the 
  2495. main Status Line and can be logged in the Logging Facility. Using the PM Patrol 
  2496. "DCFUserDefined" API within a C/C++ program, you can format a monitor buffer of 
  2497. your choice. Refer to the API description for DCFUserDefined for details. 
  2498.  
  2499.  
  2500. ΓòÉΓòÉΓòÉ 11. Utility ΓòÉΓòÉΓòÉ
  2501.  
  2502. The Utility section provides a growing number of utility items. This section 
  2503. will, along with monitor items, continue to grow in functionality. 
  2504.  
  2505. The "Utility" menu can be accessed from the PM Patrol "Options" dialog or from 
  2506. the PM Patrol Status Line and clicking the right mouse button. 
  2507.  
  2508.  
  2509. ΓòÉΓòÉΓòÉ 11.1. Logger ΓòÉΓòÉΓòÉ
  2510.  
  2511. The Logger facility provides a robust mechanism for recording all PM Patrol 
  2512. monitors to a file. Once logged, the user can "view" the logged data for 
  2513. further review. 
  2514.  
  2515. Most monitor items can be selected/deselected from being logged in the "Logger 
  2516. Settings" along with several other Logger Options such as duration, frequency, 
  2517. and location of log file(s). 
  2518.  
  2519. The log file is ASCII and able to be further manipulated using tools such as 
  2520. Rexx, AWK, and GREP. A convenient "field separator" (vertical bar=0xb3) is 
  2521. included in the log file for identifying individual fields in the log file 
  2522. record. 
  2523.  
  2524. The PM Patrol Logger is designed with special consideration for performance. 
  2525. When logging, the Logger mechanism requires very little CPU. The PM Patrol 
  2526. Logger can be used in a variety of situations: 
  2527.  
  2528.    1. Real-time and time critical logging with 1 second samples. 
  2529.  
  2530.    2. Casual logging with infrequent (1 per minute) samples 
  2531.  
  2532.  
  2533. ΓòÉΓòÉΓòÉ 11.1.1. Start/Stop ΓòÉΓòÉΓòÉ
  2534.  
  2535. The Start/Stop option start or stops the logging activity. 
  2536.  
  2537.  
  2538. ΓòÉΓòÉΓòÉ 11.1.2. View Primary Log ΓòÉΓòÉΓòÉ
  2539.  
  2540. The View Primary Log option allows you to view the contents of the information 
  2541. recently logged. The Viewer program can be defined in the "General Settings" 
  2542. section. The default Viewer is the PM Patrol's View program "PMPVIEW.EXE". 
  2543.  
  2544. The name and location of the primary log file is user settable. This is 
  2545. specified in the "Logger Settings" settings. 
  2546.  
  2547.  
  2548. ΓòÉΓòÉΓòÉ 11.1.3. View Backup Log ΓòÉΓòÉΓòÉ
  2549.  
  2550. The View Backup Log option allows you to view the contents of the information 
  2551. logged previously. If the "backup log" option is not enabled, this option is 
  2552. not accessible. 
  2553.  
  2554. The location of the backup log file is the same as the location for the primary 
  2555. log file as specified in the PM Patrol "Logger Settings". 
  2556.  
  2557. The name of the backup log file name is always "PMPATROL.BAK". 
  2558.  
  2559.  
  2560. ΓòÉΓòÉΓòÉ 11.1.4. Delete All Logs ΓòÉΓòÉΓòÉ
  2561.  
  2562. The Delete All Logs option allows you to delete all PM Patrol log files from 
  2563. disk (if present). This includes the primary and backup log files. 
  2564.  
  2565.  
  2566. ΓòÉΓòÉΓòÉ 11.2. Debug ΓòÉΓòÉΓòÉ
  2567.  
  2568. The Debug facility is a flexible and easy to use real-time Debugger for the 
  2569. software developer that provides debugging capabilities that are impossible for 
  2570. the source-level debugger, easier to use, and often more convenient. 
  2571.  
  2572. Debug is used by the PM Patrol Port Monitor to provide a "data scope" for 
  2573. information being passed through the printer port for LPT1-LPT3. 
  2574.  
  2575. Once logged, the user can "view" the logged data for further review. The log 
  2576. file is ASCII and able to be further manipulated using tools such as Rexx, AWK, 
  2577. and GREP. 
  2578.  
  2579.  
  2580. ΓòÉΓòÉΓòÉ 11.2.1. Start/Stop Debug ΓòÉΓòÉΓòÉ
  2581.  
  2582. The Start/Stop Debug option starts or stops the Debug Facility. 
  2583.  
  2584.  
  2585. ΓòÉΓòÉΓòÉ 11.2.2. Start/Stop Debug Log ΓòÉΓòÉΓòÉ
  2586.  
  2587. Output from the Debug facility is sent to the Debug viewing window. When 
  2588. logging is started, the output also goes to the "DBUG.LOG" file and is 
  2589. immediately viewable. 
  2590.  
  2591. When logging is stopped, the "DBUG.LOG" is closed. The next time logging is 
  2592. started, the "DBUG.LOG" file is backed-up to "DBUG.BAK" and a new "DBUG.LOG" is 
  2593. created. 
  2594.  
  2595.  
  2596. ΓòÉΓòÉΓòÉ 11.2.3. View Primary Log ΓòÉΓòÉΓòÉ
  2597.  
  2598. The View Primary Log option allows you to view the contents of the information 
  2599. recently logged. The Viewer program can be defined in the "General Settings" 
  2600. section. The default Viewer is the PM Patrol's View program "PMPVIEW.EXE". 
  2601.  
  2602. The name and location of the Debug log files are constant. Located in the PM 
  2603. Patrol installation directory, log files are named "DBUG.LOG" for the primary 
  2604. and "DBUG.BAK" for the backup log file. 
  2605.  
  2606.  
  2607. ΓòÉΓòÉΓòÉ 11.2.4. View Backup Log ΓòÉΓòÉΓòÉ
  2608.  
  2609. The View Backup Log option allows you to view the contents of the information 
  2610. logged previously. 
  2611.  
  2612.  
  2613. ΓòÉΓòÉΓòÉ 11.2.5. Delete Debug Logs ΓòÉΓòÉΓòÉ
  2614.  
  2615. The Delete Debug Logs option allows you to delete all Debug log files from disk 
  2616. (if present). This includes the primary and backup log files. 
  2617.  
  2618.  
  2619. ΓòÉΓòÉΓòÉ 11.3. Drives ΓòÉΓòÉΓòÉ
  2620.  
  2621. The Drives options provides the ability to switch drives that are on-line and 
  2622. you wish to monitor, format(full and fast), check and view summary information 
  2623. for a particular drive. 
  2624.  
  2625. This is accessed from the PM Patrol "Utility" menu. 
  2626.  
  2627.  
  2628. ΓòÉΓòÉΓòÉ 11.3.1. Status Line ΓòÉΓòÉΓòÉ
  2629.  
  2630. The Status Line option provides the ability to switch drives that are on-line 
  2631. that you may want to monitor on the PM Patrol Status Line. After selecting the 
  2632. drive (1 through 6) to change, the "Drives List" popup allows you to select a 
  2633. drive. 
  2634.  
  2635. After selecting a drive from the "Drive List", the drive appears on the PM 
  2636. Patrol Status Line and is remembered when PM Patrol is ended. 
  2637.  
  2638.  
  2639. ΓòÉΓòÉΓòÉ 11.3.2. Drive Map and Summary ΓòÉΓòÉΓòÉ
  2640.  
  2641. The Drive Map and Summary option provides the ability to view summary, detail, 
  2642. and directory map information for a selected drive. 
  2643.  
  2644. The Drive Summary options displays volume specifics as well as media format and 
  2645. device type. Summary level data displays a wealth of information. 
  2646.  
  2647. The Drive Map option displays a graphical view of directories, size of 
  2648. directories, and distribution of directory sizes relative to total USED space 
  2649. on the file system. 
  2650.  
  2651. The bar-graph is calculated in comparison to the LARGEST size directory found 
  2652. on the drive, while the percentage is calculated in comparison to the total 
  2653. USED space on the drive. 
  2654.  
  2655. Note:  The Drive Map "Bytes" reflects total space USED per directory and 
  2656. includes both Slack bytes and EA bytes of files in the subdirectory - not just 
  2657. the bytes comprising each file. 
  2658.  
  2659.  
  2660. ΓòÉΓòÉΓòÉ 11.4. Spooler ΓòÉΓòÉΓòÉ
  2661.  
  2662. The Spooler options support a variety of Print Spooler utilities such as: 
  2663.  
  2664.    1. Purge all print jobs in a Print Queue (Local or Remote) 
  2665.  
  2666.    2. Release all print jobs in a Print Queue (Local or Remote) 
  2667.  
  2668.    3. Hold all print jobs in a Print Queue (Local or Remote) 
  2669.  
  2670.  If logged on to a LAN Server and signed-on under the LAN Administrator ID, ALL 
  2671.  functions can be performed remotely for any LAN Server and these functions 
  2672.  will affect ALL print jobs for the specified Print Queue. Otherwise, these 
  2673.  functions will be performed for any print jobs OWNED by the current user of 
  2674.  the workstation for the specified Print Queue. 
  2675.  
  2676.  Note:  The "Purge Queue" function deletes ALL print jobs of any state (held, 
  2677.  printing, spooling, or released). 
  2678.  
  2679.  
  2680. ΓòÉΓòÉΓòÉ 11.5. Programs ΓòÉΓòÉΓòÉ
  2681.  
  2682. The Programs option provides quick access to user definable programs. Using the 
  2683. "Program Settings" dialog, you can add up to 45 of your favorite programs. 
  2684.  
  2685.  
  2686. ΓòÉΓòÉΓòÉ 11.5.1. Program Settings ΓòÉΓòÉΓòÉ
  2687.  
  2688. The "Program Settings" dialog allows you to specify: 
  2689.  
  2690.    1. The "Program Name". Duplicate names are allowed. This field is a required 
  2691.       field in order for the entry to appear on the program popup menu. 
  2692.  
  2693.    2. The "Path and File Name" for the executable (.EXE or .COM).  To invoke 
  2694.       the OS/2 command prompt enter "CMD.EXE". This field is a required field 
  2695.       in order for the entry to appear on the program popup menu. 
  2696.  
  2697.    3. The "Parameters" field allows you to enter any program parameters that 
  2698.       may be required by the program you want to run. You can have PM Patrol 
  2699.       prompt you for parameters when you launch the program by entering a '?' 
  2700.       as the first character in the "Parameters" field. Place default 
  2701.       parameters after the '?' if desired. This will invoke a dialog box when 
  2702.       you run the program and allow you to enter new parameters. 
  2703.  
  2704.    4. The "Working Directory" informs the program launcher what the default 
  2705.       drive and directory are to be when the program is launched. 
  2706.  
  2707.  The "Session" group allows you to further control HOW you wish to run the 
  2708.  program: as native OS/2 PM, Windows session, full screen, DOS, and more. 
  2709.  Except for DOS/Windows programs, use "Default" when your're unsure. 
  2710.  
  2711.    1. The "Win Enh" item identifies a Windows 3.1 Enhanced program and will be 
  2712.       run as a "seamless" Windows session in "unprotected mode" (same session). 
  2713.  
  2714.    2. The "Win Std" item identifies a Windows 3.1 Standard program and will be 
  2715.       run as a "seamless" Windows session in "unprotected mode" (same session). 
  2716.  
  2717.  The "Window" group allows you to start the program in a minimized state. 
  2718.  Additionally, you can select "Display existing window" to control the behavior 
  2719.  when you run the program again.  All programs are run in the "Foreground". 
  2720.  With this enabled, PM Patrol will only allow 1 instance of the program to run 
  2721.  and make the active instance of the program the foreground session. Otherwise, 
  2722.  a new and separate session is started. 
  2723.  
  2724.  The "Priority" group allows you advanced process control over a program's OS/2 
  2725.  priority. This includes both priority "Class" as well as the priority "Range" 
  2726.  within the Class. 
  2727.  
  2728.  Within the "Class" control, you can select 1 of 4 different classes: 
  2729.  
  2730.    1. "Regular" Class identifies a "normal" setting and is the default. This 
  2731.       should typically be used for most programs. If your're unsure of the 
  2732.       Class setting, use "Regular". 
  2733.  
  2734.    2. "Idle" class indicates that a program should only execute when nothing 
  2735.       else is running. Typically used for carefree background processes. 
  2736.  
  2737.    3. "Foreground" class indicates that a program should execute at a 
  2738.       fixed-high priority, but below time critical as if it were the "active" 
  2739.       window. Net effect of this class makes the process operate at near 
  2740.       time-critical performance. 
  2741.  
  2742.    4. "Critical" Class identifies a program as a "Time Critical" process. 
  2743.       Understand that selecting this may cause other programs running to 
  2744.       execute slower. 
  2745.  
  2746.  The "Range" operates within the selected "Class" and you can select 1 of 4 
  2747.  different Range priority levels within each Class. 
  2748.  
  2749.    1. "Regular" Range identifies the "normal" and default priority setting 
  2750.       within the Class selected. This should typically be used for most 
  2751.       programs and is the default. If you are unsure of the Range setting, use 
  2752.       "Regular". 
  2753.  
  2754.    2. "Low" Range identifies the lowest possible priority setting within the 
  2755.       Class selected. Low and Regular have identical effects. This was chosen 
  2756.       by design to avoid confusion as to what was a "normal" Range setting. 
  2757.  
  2758.    3. "Medium" Range indicates a midpoint priority level between the Low and 
  2759.       High Ranges. 
  2760.  
  2761.    4. "High" Range indicates the highest possible priority within the class 
  2762.       selected. 
  2763.  
  2764.  Note:  Use "Regular" for both Class and Range settings when the priority 
  2765.  requirement of the process is unknown; this should be used as the default in 
  2766.  all situations. You should rarely (if ever) set the priority combination to 
  2767.  "Critical" Class and "High" Range settings. Doing so could likely bring OS/2 
  2768.  to its knees for a very CPU bound program. 
  2769.  
  2770.  Note:  Once launched, a program can change its own priority Class and Range 
  2771.  settings. This means that PM Patrol sets the program's "default" priorities 
  2772.  with those that you select, but does not control it after the program has been 
  2773.  launched. A good example of this is running Windows programs. The Win-OS/2 
  2774.  environment will typically change the priority to "Regular" for both Class and 
  2775.  Range. 
  2776.  
  2777.  The "Action" item in the menu allows you to Add, Delete, or Run the 
  2778.  highlighted program in the "Program List". To change an existing program's 
  2779.  properties, simply select the program in the list, then change the desired 
  2780.  fields for the program. Changes are immediate. 
  2781.  
  2782.  Alternately, you can click the right mouse button while the mouse pointer is 
  2783.  positioned over the "Program List" to get a quick access popup menu to the 
  2784.  actions. 
  2785.  
  2786.  
  2787. ΓòÉΓòÉΓòÉ 11.6. Desktop ΓòÉΓòÉΓòÉ
  2788.  
  2789. The System Setup option opens the OS/2 WorkPlace Shell "System Setup" folder 
  2790. object. 
  2791.  
  2792. The System Startup option opens the OS/2 WorkPlace Shell "Startup" folder 
  2793. object. 
  2794.  
  2795. The Tools option opens the OS/2 WorkPlace Shell "Main" folder for an assortment 
  2796. of OS/2 tools. 
  2797.  
  2798. The Games option opens the OS/2 WorkPlace Shell "Games" folder for an 
  2799. assortment of OS/2 games. 
  2800.  
  2801. The Drives option opens the OS/2 WorkPlace Shell "Drives" folder for disk 
  2802. utilities. 
  2803.  
  2804. The LaunchPad option opens the OS/2 WorkPlace Shell LaunchPad object. 
  2805.  
  2806. The Minimized option opens the OS/2 WorkPlace Shell "Minimized" folder object. 
  2807.  
  2808. The Templates option opens the OS/2 WorkPlace Shell "Templates" folder object. 
  2809.  
  2810. The Information option opens the OS/2 WorkPlace Shell "Information" folder for 
  2811. an assortment of books. 
  2812.  
  2813. The Command Prompts option opens the OS/2 WorkPlace Shell "Command Prompts" 
  2814. folder for an assortment of OS/2 command windows. 
  2815.  
  2816. The Font Palette option opens this OS/2 WorkPlace Shell palette 
  2817.  
  2818. The Scheme Palette option opens this OS/2 WorkPlace Shell palette 
  2819.  
  2820. The Color Palette option opens this OS/2 WorkPlace Shell palette 
  2821.  
  2822. The Minimize Windows option minimizes all visible windows on the OS/2 desktop. 
  2823. Convenient for periodically "clearing" the desktop when too many windows are 
  2824. active. 
  2825.  
  2826. The Restart Desktop option allows you to restart your OS/2 desktop and 
  2827. optionally specify a different set of OS/2 INI files to use. This option is 
  2828. particularly useful in network environments where individuals move from 
  2829. workstation to workstation and wish to inherit their "desktop personality" on a 
  2830. different PC. The "Defaults" option is designed to facilitate the the process 
  2831. of quickly switching back to the local workstation's default INI files. The 
  2832. "Restart Desktop" is unavailable when PM Patrol is started in "Secured" mode. 
  2833.  
  2834. Note:  Be aware that on some multimedia enabled systems, restarting the OS/2 
  2835. desktop may temporarily disable multimedia (MMPM/2). 
  2836.  
  2837. The Restore Windows option restores all minimized windows in the OS/2 Task 
  2838. Window or Minimized Folder to the OS/2 desktop. 
  2839.  
  2840. The Close All Folders option quickly closes all open OS/2 desktop folders. 
  2841. Convenient for periodically "clearing" the desktop when too many windows are 
  2842. active. 
  2843.  
  2844. The PM Patrol Shutdown option is an alternate way to shutdown PM Patrol 
  2845. quickly. This option will only appear in the Utility Popup menu when invoked 
  2846. from the PM Patrol Status Line. When selected, this will shutdown PM Patrol 
  2847. quickly and without confirmation. If PM Patrol is started in "Secured Mode 
  2848. (-S)", this option is not available and will not appear in the menu. If the PM 
  2849. Patrol Password is set, then you will be prompted to enter the correct password 
  2850. before PM Patrol is shutdown. 
  2851.  
  2852. The Normal OS/2 Shutdown option is an alternate way to perform a normal OS/2 
  2853. shutdown. If the PM Patrol Password is set, then you will be prompted to enter 
  2854. the correct password before a shutdown is granted. 
  2855.  
  2856. The Forced OS/2 Shutdown option is used when the normal OS/2 shutdown procedure 
  2857. is unresponsive and will shutdown OS/2 active file systems. This should be used 
  2858. as a last resort. If the PM Patrol Password is set, then you will be prompted 
  2859. to enter the correct password before a forced shutdown is granted. 
  2860.  
  2861. Note:  This forces a proper OS/2 shutdown for all active file systems and open 
  2862. files, but does not perform a WorkPlace Shell shutdown. Any recent changes to 
  2863. the OS/2 desktop since the last normal OS/2 shutdown may not be saved. 
  2864.  
  2865.  
  2866. ΓòÉΓòÉΓòÉ 11.7. Display ΓòÉΓòÉΓòÉ
  2867.  
  2868. The Open Monitor Windows option opens and activates all PM Patrol Monitor 
  2869. windows including Process Monitor, Memory Monitor, and Network Monitor. This 
  2870. provides quick access to these popular monitor windows of PM Patrol. 
  2871.  
  2872. The Close Monitor Windows option closes all PM Patrol Monitor windows including 
  2873. Process Monitor, Memory Monitor, and Network Monitor. 
  2874.  
  2875. The Suspend Status Line option freezes the Status Line display until you Resume 
  2876. the display. 
  2877.  
  2878. The Hide Status Line option hides the Status Line display until you re-select 
  2879. it from the OS/2 Window List. While hidden, all active PM Patrol operations 
  2880. continue unless the display has been "suspended". This option is convenient for 
  2881. those who wish to temporarily view the desktop window below PM Patrol or for 
  2882. security purposes. 
  2883.  
  2884. The Refresh Status Line option immediately forces PM Patrol to re-sample and 
  2885. refresh all items being monitored on the PM Patrol main Status Line. 
  2886.  
  2887. The Reset Internet Time option allows you to reset the Internet Connect-Time to 
  2888. zero. This can be useful for tracking and costing Internet access. 
  2889.  
  2890.  
  2891. ΓòÉΓòÉΓòÉ 11.8. Utilities ΓòÉΓòÉΓòÉ
  2892.  
  2893. This menu contains several additional utilities that are always 1 click away 
  2894.  
  2895.  
  2896. ΓòÉΓòÉΓòÉ 11.8.1. Sleep Now ΓòÉΓòÉΓòÉ
  2897.  
  2898. The Sleep Now option places the mobile computer (SL chips) into suspend mode. 
  2899. This option is accessible only when APM (Advanced Power Management) is 
  2900. installed and the user is not logged-on to the LAN Server for workstations 
  2901. connected to a LAN Server network. Refer to the OS/2 Installation Guide for APM 
  2902. details. 
  2903.  
  2904.  
  2905. ΓòÉΓòÉΓòÉ 11.8.2. Fast Find ΓòÉΓòÉΓòÉ
  2906.  
  2907. The Fast Find option provides a way to find files on a particular disk drive. A 
  2908. number of search constraints are available such as finding 32-bit, open files, 
  2909. and files with a combination of attributes set (Read Only, Hidden, etc.). 
  2910.  
  2911. Enter the desired drive and file/pattern to search for. Click "Find" (or Enter] 
  2912. to begin the search. Click "Stop" to cancel the search. Select "All Drives" to 
  2913. search for files across all drives currently on-line. 
  2914.  
  2915. Note:  Refer to the "FF" command line utility also shipped with PM Patrol for 
  2916. searching and collecting files from the command line. 
  2917.  
  2918. Note:  Refer to the "FDUPS" command line utility also shipped with PM Patrol 
  2919. for searching and collecting files that are duplicate from the command line. 
  2920.  
  2921. The container control in the Fast Find window supports right-click popups for 
  2922. quick access to "Action" items and double-click selections. 
  2923.  
  2924. Double-clicking in the Fast Find window invokes "Edit", "View", or "Execute" 
  2925. options for the item selected. If the item is a multimedia WAV file, the WAV 
  2926. file is played. 
  2927.  
  2928. The "Last Write" and "Last Access" days allow you to specify a number of days 
  2929. that the file must meet or exceed (>=) for the Fast Find facility to collect. 
  2930. This is advantageous when searching for inactive files for LAN administration. 
  2931.  
  2932. Note:  The "Last Access" date is only applicable to file systems that support 
  2933. this attribute, such as HPFS. FAT does NOT support this file system attribute 
  2934. and therefore use of "Last Access" days should be avoided. 
  2935.  
  2936. The "File Size" field provides that ability to narrow the search and look for 
  2937. files where the file size meets or exceeds a given size. This size is specified 
  2938. in terms of Kilobytes (KB). For example, If your're searching for files greater 
  2939. than or equal to 512K, then enter 512. 
  2940.  
  2941. Additional search criteria allows you to narrow the search for: 
  2942.  
  2943.    1. "OS2/Win" files. These are files that are OS/2 PM and Windows files using 
  2944.       Win API calls. Files include *.DLL, *.EXE, *.SYS and more. 
  2945.  
  2946.    2. "32-Bit" files.  These are files that are 32-bit OS/2 files. Files 
  2947.       include *.EXE, *.DLL, *.SYS, and more. 
  2948.  
  2949.    3. "Opened" files.  These are files that are currently open and in use by 
  2950.       other OS/2, DOS, or Windows programs. 
  2951.  
  2952.    4. "DOS" files.  These are files that DOS only files and include *.EXE, 
  2953.       *.COM, and more. 
  2954.  
  2955.       Note:  Searching for files with the above specified attributes causes 
  2956.       overhead and should be used selectively. Searching for "Opened" files 
  2957.       causes considerable overhead and could take several minutes to complete 
  2958.       the search. 
  2959.  
  2960.  Also provided is the ability to restrict the search to finding only files with 
  2961.  particular file attributes. Such as Hidden, Read-Only, and more.  Selecting 
  2962.  these items causes a "RESTRICTIVE" search - not "INCLUSIVE". 
  2963.  
  2964.  You can customize the display items (file slack size, file EA size, last write 
  2965.  and access dates) in the "View" menu option. These settings will be saved 
  2966.  automatically when PM Patrol is shutdown. 
  2967.  
  2968.  There are several "Action" items that are provided. These include the ability 
  2969.  to "Edit", "View", and "Delete" files that are selected. To select items, 
  2970.  simply single click the item or "Select All" items in the list. Be careful of 
  2971.  the "Delete" option. It works well - even if the file is marked as read-only, 
  2972.  the files will be deleted. A popup message box is displayed to confirm your 
  2973.  "Delete" request. 
  2974.  
  2975.  The "File" and "Edit" options operate the same way as in the "Process 
  2976.  Monitor","Drives Monitor", System Info" windows, and all others. These options 
  2977.  allow you to copy/append to the clipboard, save list to a file, or print list 
  2978.  to a printer. 
  2979.  
  2980.  The Fast Find facility allows you to specify that search operations should 
  2981.  always run at a low priority - only when there is little OS/2 activity. This 
  2982.  can be specified in the "General Settings" setup and may be desirable for LAN 
  2983.  administration functions. This is identified by "Idle Time Searches". 
  2984.  
  2985.  
  2986. ΓòÉΓòÉΓòÉ 11.8.3. Fast Help ΓòÉΓòÉΓòÉ
  2987.  
  2988. The Fast Help option provides very fast access to a complete list of OS/2 
  2989. Information (.INF) and Help (.HLP), and DOS+Windows (.HLP) files that are 
  2990. on-line and available for viewing. 
  2991.  
  2992. Accessed from the PM Patrol Utility menu, the Fast Help feature creates a "Help 
  2993. Data Base" the first time it's accessed. Stored where PM Patrol is installed, 
  2994. the help data base refresh can take a minute to build. 
  2995.  
  2996. Subsequent invocations of the Fast Help window do not auto-refresh the help 
  2997. data base. It is up to you when you wish to refresh the data base. PM Patrol 
  2998. searches ALL drives on-line when refreshing the help data base. 
  2999.  
  3000. Via the "View" menu item, you can filter-out duplicate help files to make 
  3001. navigating the list a bit easier. 
  3002.  
  3003. To view a on-line help file, simply double click on the file in the list. 
  3004. DOS+Windows help files are always viewed seamlessly on the OS/2 desktop. 
  3005.  
  3006. The "Filter" options operate in the following manners: 
  3007.  
  3008.    1. The "Filter Duplicates" removes duplicate help files from the window 
  3009.       list. As a result, only unique help files are displayed. 
  3010.  
  3011.    2. The "Filter OS/2 Files" removes OS/2 specific help files (both .INF and 
  3012.       .HLP) from the window list. As a result, only DOS+Windows help files are 
  3013.       displayed. 
  3014.  
  3015.    3. The "Filter Win Files" removes DOS+Windows specific help files (.HLP) 
  3016.       from the window list. As a result, only OS/2 help files are displayed. 
  3017.  
  3018.  Note:  Limitation with OS/2 .HLP help files. Due to the nature of OS/2 .HLP 
  3019.  help files, only one of these help files can be viewed at a time through PM 
  3020.  Patrol's Fast Help facility. If another .HLP help file is selected, the 
  3021.  previous .HLP help file will be closed down. There are no limitations with 
  3022.  OS/2 .INF or DOS+Windows .HLP help files. 
  3023.  
  3024.  
  3025. ΓòÉΓòÉΓòÉ 11.8.4. System Info ΓòÉΓòÉΓòÉ
  3026.  
  3027. The System Info displays 3 basic types of information: 
  3028.  
  3029.    1. OS/2 System information displays the basic configuration of OS/2 and the 
  3030.       hardware present on your system. Many of the items are static and don't 
  3031.       change while OS/2 is operating. Many of these items are modifiable in the 
  3032.       CONFIG.SYS. Refer to OS/2 help for more detail. 
  3033.  
  3034.    2. Presentation Manager colors. These can be modified via the "Color 
  3035.       Palette" in the OS/2 "System" folder. 
  3036.  
  3037.    3. Presentation Manager information displays items specific to PM. Many of 
  3038.       these can be modified in the "Setup" folder of the WorkPlace Shell. 
  3039.  
  3040.  
  3041. ΓòÉΓòÉΓòÉ 11.8.5. Scheduler ΓòÉΓòÉΓòÉ
  3042.  
  3043. The Scheduler option provides quick access to user definable programs that are 
  3044. to be run at specified times. Using the "Scheduler Settings" dialog, you can 
  3045. add up to 128 of programs to run at specified times. 
  3046.  
  3047. Similar in function to the UNIX CRON utility, the "Scheduler" provides the 
  3048. ability to run any program at user specified days and times. 
  3049.  
  3050. The "Scheduler Settings" dialog allows you to specify: 
  3051.  
  3052.    1. The "Program Name". Duplicate names are allowed. This field is a required 
  3053.       field in order for the entry to appear on the program popup menu. 
  3054.  
  3055.    2. The "Path and File Name" for the executable (.EXE or .COM).  To invoke 
  3056.       the OS/2 command prompt enter "CMD.EXE". This field is a required field 
  3057.       in order for the entry to appear on the program popup menu. 
  3058.  
  3059.    3. The "Parameters" field allows you to enter any program parameters that 
  3060.       may be required by the program you want to run. You can have PM Patrol 
  3061.       prompt you for parameters when the scheduler launches the program by 
  3062.       entering a '?' as the first character in the "Parameters" field. Place 
  3063.       default parameters after the '?' if desired. This will invoke a dialog 
  3064.       box when the program is scheduled to run and allow you to enter new 
  3065.       parameters. 
  3066.  
  3067.    4. The "Working Directory" informs the scheduler what the default drive and 
  3068.       directory are to be when the program gets launched. 
  3069.  
  3070.  The "Session" group allows you to further control HOW you wish to run the 
  3071.  program: as native OS/2 PM, Windows session, full screen, DOS, and more. 
  3072.  Except for DOS/Windows programs, use "Default" when your're unsure. 
  3073.  
  3074.    1. The "Win Enh" item identifies a Windows 3.1 Enhanced program and will be 
  3075.       run as a "seamless" Windows session in "unprotected mode" (same session). 
  3076.  
  3077.    2. The "Win Std" item identifies a Windows 3.1 Standard program and will be 
  3078.       run as a "seamless" Windows session in "unprotected mode" (same session). 
  3079.  
  3080.  The "Window" group allows you to start the program in a minimized state. Some 
  3081.  programs may resist the minimized state when their invoked. 
  3082.  
  3083.  The "Activation" group allows you to indicate that the Scheduled Entry is 
  3084.  "active" or "inactive". The program will only get launched when this is 
  3085.  selected. 
  3086.  
  3087.  The "Priority" group allows you advanced process control over a program's OS/2 
  3088.  priority. This includes both priority "Class" as well as the priority "Range" 
  3089.  within the Class. 
  3090.  
  3091.  Within the "Class" control, you can select 1 of 4 different classes: 
  3092.  
  3093.    1. "Regular" Class identifies a "normal" setting and is the default. This 
  3094.       should typically be used for most programs. If your're unsure of the 
  3095.       Class setting, use "Regular". 
  3096.  
  3097.    2. "Idle" class indicates that a program should only execute when nothing 
  3098.       else is running. Typically used for carefree background processes. 
  3099.  
  3100.    3. "Foreground" class indicates that a program should execute at a 
  3101.       fixed-high priority, but below time critical as if it were the "active" 
  3102.       window. Net effect of this class makes the process operate at near 
  3103.       time-critical performance. 
  3104.  
  3105.    4. "Critical" Class identifies a program as a "Time Critical" process. 
  3106.       Understand that selecting this may cause other programs running to 
  3107.       execute slower. 
  3108.  
  3109.  The "Range" operates within the selected "Class" and you can select 1 of 4 
  3110.  different Range priority levels within each Class. 
  3111.  
  3112.    1. "Regular" Range identifies the "normal" and default priority setting 
  3113.       within the Class selected. This should typically be used for most 
  3114.       programs and is the default. If you are unsure of the Range setting, use 
  3115.       "Regular". 
  3116.  
  3117.    2. "Low" Range identifies the lowest possible priority setting within the 
  3118.       Class selected. Low and Regular have identical effects. This was chosen 
  3119.       by design to avoid confusion as to what was a "normal" Range setting. 
  3120.  
  3121.    3. "Medium" Range indicates a midpoint priority level between the Low and 
  3122.       High Ranges. 
  3123.  
  3124.    4. "High" Range indicates the highest possible priority within the class 
  3125.       selected. 
  3126.  
  3127.  Note:  Use "Regular" for both Class and Range settings when the priority 
  3128.  requirement of the process is unknown; this should be used as the default in 
  3129.  all situations. You should rarely (if ever) set the priority combination to 
  3130.  "Critical" Class and "High" Range settings. Doing so could likely bring OS/2 
  3131.  to its knees for a very CPU bound program. 
  3132.  
  3133.  Note:  Once launched, a program can change its own priority Class and Range 
  3134.  settings. This means that PM Patrol sets the program's "default" priorities 
  3135.  with those that you select, but does not control it after the program has been 
  3136.  launched. A good example of this is running Windows programs. The Win-OS/2 
  3137.  environment will typically change the priority to "Regular" for both Class and 
  3138.  Range. 
  3139.  
  3140.  The "Schedule" group provides you the ability to specify the time the program 
  3141.  is to be launched. All programs are launched in the "background" and NOT the 
  3142.  foreground session. 
  3143.  
  3144.  The time to launch can be specified by selecting the desired Month, Week Day, 
  3145.  Hour, and Minute.  Event time permutations are as follows: 
  3146.  
  3147.    1. Month: provides "Every" month or a specified month (January through 
  3148.       December). 
  3149.  
  3150.    2. Week Day: provides "Every" day, specified day (Sunday through Saturday), 
  3151.       weekdays (Monday through Friday), or weekends (Saturday and Sunday). 
  3152.  
  3153.    3. Hour: provides "Every" hour or a specified hour (12:00 AM through 11:00 
  3154.       PM). 
  3155.  
  3156.    4. Minute: provides "Every" minute or a specified minute (0 through 59). 
  3157.  
  3158.  The "Action" item in the menu allows you to Add, Delete, or Run the 
  3159.  highlighted program in the "Program List". To change an existing program's 
  3160.  properties, simply select the program in the list, then change the desired 
  3161.  fields for the program. Changes are immediate. 
  3162.  
  3163.  Alternately, you can click the right mouse button while the mouse pointer is 
  3164.  positioned over the "Program List" to get a quick access popup menu to the 
  3165.  actions. 
  3166.  
  3167.  
  3168. ΓòÉΓòÉΓòÉ 11.8.6. WorkPlace Classes ΓòÉΓòÉΓòÉ
  3169.  
  3170. The WorkPlace Classes option provides quick access to all registered WorkPlace 
  3171. Shell class objects and provides the ability to register new classes or 
  3172. deregister classes no longer needed. 
  3173.  
  3174. Note:  Typically used by developers, this facility should be used with caution. 
  3175. DO NOT deregister classes without careful consideration. Deleting some classes 
  3176. may render your OS/2 WorkPlace shell inoperable. 
  3177.  
  3178. The "Class Name" represents the object class name as registered and known by 
  3179. the OS/2 WorkPlace Shell. 
  3180.  
  3181. The "Module Name" represents the DLL or SOM library which contains the object 
  3182. methods associated with the class. 
  3183.  
  3184. To deregister a class, simply highlight the class name from the list and select 
  3185. the "Deregister Class" option in the "Action" menu. 
  3186.  
  3187. Likewise, to register a new class to the WorkPlace shell, select "Register 
  3188. Class" from this same menu. Enter the new class name and library module. The 
  3189. Library module must be a fully qualified drive, path, and file name of the DLL. 
  3190.  
  3191.  
  3192. ΓòÉΓòÉΓòÉ 11.8.7. Fast Format ΓòÉΓòÉΓòÉ
  3193.  
  3194. Fast Format performs a very fast format for diskettes (drives A or B) that are 
  3195. ALREADY formatted. This is much faster, and easier, than manually deleting 
  3196. files off a diskette or reformatting. You'll be surprised how often this proves 
  3197. useful.  This option will work on all diskette types (720KB, 1.44MB, and 
  3198. 2.88MB). 
  3199.  
  3200. In order to support all current and future read/writable media types (and 
  3201. extended attributes), PM Patrol employs a Fast Format method that is affected 
  3202. by the number of preexisting files on the disk media. The more files on the 
  3203. disk, the longer it may take to complete the Fast format. The Fast Format 
  3204. operation usually takes several seconds. Since the Fast Format allows 
  3205. concurrent access to the disk while formatting, files or directories that are 
  3206. open will not be removed. 
  3207.  
  3208. Only logical drives A and B are currently supported. 
  3209.  
  3210. Fast Format also allows you to specify a new volume label name. 
  3211.  
  3212.  
  3213. ΓòÉΓòÉΓòÉ 11.9. Command Line Utilities ΓòÉΓòÉΓòÉ
  3214.  
  3215. Packaged with PM Patrol are several OS/2 32-bit Command Line utilities. These 
  3216. utilities complement the PM Patrol personality. 
  3217.  
  3218.  
  3219. ΓòÉΓòÉΓòÉ 11.9.1. FF (Find Files) ΓòÉΓòÉΓòÉ
  3220.  
  3221. This utility is accessed from the OS/2 command prompt window. If the "Bonus" 
  3222. option was selected at PM Patrol installation, then this utility is installed 
  3223. into the PMP subdirectory. To allow this utility to be invoked regardless of 
  3224. the current working directory, alter the CONFIG.SYS file and add PMP to the end 
  3225. of the PATH statement. 
  3226.  
  3227. It provides the same functionality and features as the "Fast Find" facility of 
  3228. PM Patrol. FF enables you to search for files across multiple drives regardless 
  3229. of the number of files. Like the "Fast Find", FF is a turbo charged "find 
  3230. files" utility. 
  3231.  
  3232. The syntax for "FF" is: 
  3233.  
  3234. FF filespec [/R /H /S /A /D /O /E /LN /SN /AD /LA /LW /SK]
  3235.     /R   read only attr
  3236.     /H   hidden attr
  3237.     /S   system attr
  3238.     /A   archive attr
  3239.     /D   directory attr
  3240.     /O   open files
  3241.     /E   erase files
  3242.     /LN  long file names
  3243.     /SN  short file names
  3244.     /AD  all drives
  3245.     /LAn  n days since access
  3246.     /LWn  n days since write
  3247.     /SKn  >= n Kbytes in size
  3248.     ?   help
  3249.  
  3250. "filespec" represents a File Pattern where wild cards are allowed. The default 
  3251. File Pattern is "*" for all files. 
  3252.  
  3253.  
  3254. ΓòÉΓòÉΓòÉ 11.9.2. FDUPS (Find Duplicates) ΓòÉΓòÉΓòÉ
  3255.  
  3256. This utility is accessed from the OS/2 command prompt window. If the "Bonus" 
  3257. option was selected at PM Patrol installation, then this utility is installed 
  3258. into the PMP subdirectory. To allow this utility to be invoked regardless of 
  3259. the current working directory, alter the CONFIG.SYS file and add PMP to the end 
  3260. of the PATH statement. 
  3261.  
  3262. The "FDUPS" utility finds duplicate files by comparing the file name, size 
  3263. and/or last write date.  Between these options, you expect a very high 
  3264. confidence level that 1 or more files are duplicates. 
  3265.  
  3266. The "FDUPS" utility takes several minutes to run depending on the number of 
  3267. files on the disk drive being searched. Select the /i option to make FDUPS run 
  3268. at idle time - when there is little OS/2 activity. 
  3269.  
  3270. The syntax for "FDUPS" is: 
  3271.  
  3272. FDUPS filespec [/S, /D, /A, /I]
  3273.     /S   include size comparison
  3274.     /D   include date comparison
  3275.     /A   search all drives
  3276.     /I   run at idle time
  3277.     ?   help
  3278.  
  3279. "filespec" represents a File Pattern where wild cards are allowed. The default 
  3280. File Pattern is "*" for all files. 
  3281.  
  3282.  
  3283. ΓòÉΓòÉΓòÉ 11.9.3. FDUMP (File Dump) ΓòÉΓòÉΓòÉ
  3284.  
  3285. This utility is accessed from the OS/2 command prompt window. If the "Bonus" 
  3286. option was selected at PM Patrol installation, then this utility is installed 
  3287. into the PMP subdirectory. To allow this utility to be invoked regardless of 
  3288. the current working directory, alter the CONFIG.SYS file and add PMP to the end 
  3289. of the PATH statement. 
  3290.  
  3291. The "FDUMP" utility will dump the contents of any file displaying the ASCII and 
  3292. HEX representation of each byte in the file. 
  3293.  
  3294. This utility provides the ability to specify the format of the output in either 
  3295. a vertical or horizontal fashion. Furthermore, where binary files have specific 
  3296. record lengths, FDUMP allows you to specify this as well. 
  3297.  
  3298. The output from FDUMP is displayed on the screen but can be redirected using 
  3299. the ">outfile" parameter. 
  3300.  
  3301. The syntax for "FDUMP" is: 
  3302.  
  3303. FDUMP filespec [/R=] [/H|/V]
  3304.  
  3305. "filespec" represents a file name to examine. This must be specified. 
  3306.  
  3307. "/R=nn" tells FDUMP to dump the contents of the file using nn record length. 
  3308.  
  3309. "/H" tells FDUMP to dump the contents of the file in horizontal mode. This is 
  3310. the default used by FDUMP. 
  3311.  
  3312. "/V" tells FDUMP to dump the contents of the file in vertical mode. 
  3313.  
  3314.  
  3315. ΓòÉΓòÉΓòÉ 11.9.4. PIDKILL (Kill OS/2 Process) ΓòÉΓòÉΓòÉ
  3316.  
  3317. This utility is accessed from the OS/2 command prompt window. If the "Bonus" 
  3318. option was selected at PM Patrol installation, then this utility is installed 
  3319. into the PMP subdirectory. To allow this utility to be invoked regardless of 
  3320. the current working directory, alter the CONFIG.SYS file and add PMP to the end 
  3321. of the PATH statement. 
  3322.  
  3323. The "PIDKILL" utility allows you to terminate (UNIX-kill 9) a OS/2 program and 
  3324. all its threads. 
  3325.  
  3326. "PIDKILL" takes 1 parameter: the PID to kill. This PID value can be identified 
  3327. by using the PM Patrol Process Monitor window or using the OS/2 "PSTAT" command 
  3328. line utility shipped with OS/2. 
  3329.  
  3330. Note:  A PID that is "blocked" (waiting on another OS/2 resource) may not 
  3331. always be able to be "killed". Repeat attempts may be necessary. 
  3332.  
  3333. The syntax for "PIDKILL" is: 
  3334.  
  3335. PIDKILL pid
  3336.  
  3337. "pid" represents a HEX value as identified in the PM Patrol Monitor window or 
  3338. the OS/2 command line utility "PSTAT". 
  3339.  
  3340. Note:  Recall that the PM Patrol Process Monitor window also allows you to 
  3341. "Kill" PIDs. 
  3342.  
  3343.  
  3344. ΓòÉΓòÉΓòÉ 11.9.5. QMGMT (Queue Management) ΓòÉΓòÉΓòÉ
  3345.  
  3346. This utility is accessed from the OS/2 command prompt window. If the "Bonus" 
  3347. option was selected at PM Patrol installation, then this utility is installed 
  3348. into the PMP subdirectory. To allow this utility to be invoked regardless of 
  3349. the current working directory, alter the CONFIG.SYS file and add PMP to the end 
  3350. of the PATH statement. 
  3351.  
  3352. The "QMGMT" utility allows you to perform various Print Spooler Queue 
  3353. management functions similar to Print Spooler functions available in the PM 
  3354. Patrol program. 
  3355.  
  3356. These functions include purging, releasing, holding, and deleting 1 or more 
  3357. spooler queues. 
  3358.  
  3359. The syntax for "QMGMT" is: 
  3360.  
  3361. QMGMT qname [options]
  3362.  
  3363. "qname" represents the queue to act upon. Enter a queue name or default to ALL 
  3364. queues. 
  3365.  
  3366. "options" represents 1 of the actions to perform on the print queue. By 
  3367. default, QMGMT will report summary information (/I) and status of the queue(s). 
  3368.  
  3369.  
  3370. ΓòÉΓòÉΓòÉ 11.9.6. PMPSDOWN (PM Patrol Shut Down) ΓòÉΓòÉΓòÉ
  3371.  
  3372. This utility is accessed from the OS/2 command prompt window. If the "Bonus" 
  3373. option was selected at PM Patrol installation, then this utility is installed 
  3374. into the PMP subdirectory. To allow this utility to be invoked regardless of 
  3375. the current working directory, alter the CONFIG.SYS file and add PMP to the end 
  3376. of the PATH statement. 
  3377.  
  3378. The "PMPSDown" utility allows you to shut down PM Patrol and optionally specify 
  3379. how long (in seconds) to wait before the shutdown occurs. This utility returns 
  3380. 0 is successful, and 1 if not (ie. PMP was not active at the time). 
  3381.  
  3382. If no delay is specified, PM Patrol will be shutdown immediately. 
  3383.  
  3384. The syntax for "PMPSDown" is: 
  3385.  
  3386. PMPSDown [seconds]
  3387.  
  3388.  
  3389. ΓòÉΓòÉΓòÉ 11.9.7. MSGBOX (Message Box Popup) ΓòÉΓòÉΓòÉ
  3390.  
  3391. This utility is accessed from the OS/2 command prompt window. If the "Bonus" 
  3392. option was selected at PM Patrol installation, then this utility is installed 
  3393. into the PMP subdirectory. To allow this utility to be invoked regardless of 
  3394. the current working directory, alter the CONFIG.SYS file and add PMP to the end 
  3395. of the PATH statement. 
  3396.  
  3397. The "MsgBox" utility allows you to popup of message box with text and buttons 
  3398. of your choice. Ideal for the PM Patrol Scheduler. 
  3399.  
  3400. The syntax for "MsgBox" is: 
  3401.  
  3402. MsgBox text [/A /Tt /Dn /Bn]
  3403.  
  3404.  text  Any text of your choice (up to 1K in length)
  3405.  /A   Sound alarm
  3406.  /Tt  Title where t=text
  3407.  /Dn  Timeout delay (milliseconds)
  3408.  /Bn  Button types, where n=
  3409.      1=Ok        6=Retry,Cancel
  3410.      2=Ok,Cancel     7=Abort,Retry,Ignore
  3411.      3=Cancel      8=Yes,No
  3412.      4=Enter       9=Yes,No,Cancel
  3413.      5=Enter,Cancel
  3414.  
  3415.  Return Codes:
  3416.      1=OK selected    5=Ignore selected
  3417.      2=Cancel selected  6=Yes selected
  3418.      3=Abort selected  7=No selected
  3419.      4=Retry selected  9=Enter selected
  3420.  
  3421.  
  3422. ΓòÉΓòÉΓòÉ 12. Data Collection Facility ΓòÉΓòÉΓòÉ
  3423.  
  3424. This section discusses the Data Collection Facility (DCF) of PM Patrol. 
  3425.  
  3426.  
  3427. ΓòÉΓòÉΓòÉ 12.1. DCF Definition ΓòÉΓòÉΓòÉ
  3428.  
  3429. The Data Collection Facility (DCF) of PM Patrol is a high performance data 
  3430. acquisition and statistics collecting engine. This engine is one of the 
  3431. by-products of PM Patrol and used by PM Patrol itself. 
  3432.  
  3433. Available to PM Patrol users is a simple API set allowing the C/C++ programmer 
  3434. access to this statistical data. 
  3435.  
  3436. The engine is ALWAYS gathering statistics regardless of what monitor items have 
  3437. been selected for the PM Patrol Status Line display window. These include all 
  3438. monitor items possible in PM Patrol along with others that are not monitorable 
  3439. by the PM Patrol Status Line. 
  3440.  
  3441. The DCF engine causes no extra overhead as it is a integral component of PM 
  3442. Patrol. API interface calls to the DCF engine are extremely fast. Memory to 
  3443. hold the statistics is always resident because PM Patrol is constantly updating 
  3444. it. 
  3445.  
  3446.  
  3447. ΓòÉΓòÉΓòÉ 12.2. DCF Programming Files ΓòÉΓòÉΓòÉ
  3448.  
  3449. The PM Patrol software contains 3 files for DCF programming purposes: 
  3450.  
  3451.    1. PMPAPI.H is a C/C++ header containing all constants, definitions, 
  3452.       structures, and the like. "Include" this header file in your C/C++ 
  3453.       programs. 
  3454.  
  3455.    2. PMPAPI.LIB is the Import Library to link with to resolve DCF APIs. You 
  3456.       must link (LINK386) with this Import Library to resolve external 
  3457.       references and is specified in the LINK386 options. 
  3458.  
  3459.    3. PMPAPI.DLL is the Dynamic Link Library which holds the actual code of 
  3460.       APIs 
  3461.  
  3462.  For compiling and linking, append the installation path used for PM Patrol to 
  3463.  the following statements in your CONFIG.SYS file: 
  3464.  
  3465.    1. "LIB" statement for the API import library (PMPAPI.LIB). 
  3466.  
  3467.    2. "INCLUDE" statement for the API C/C++ header (PMPAPI.H). 
  3468.  
  3469.  Make sure the PM Patrol DLL is available at run time by appending the 
  3470.  installation path used for PM Patrol to the following statements in your 
  3471.  CONFIG.SYS file: 
  3472.  
  3473.    1. "LIBPATH" statement for the API DLL (PMPAPI.DLL). 
  3474.  
  3475.  
  3476. ΓòÉΓòÉΓòÉ 12.3. DCF API Set ΓòÉΓòÉΓòÉ
  3477.  
  3478. This section describes in detail the API set for interfacing with PM Patrol 
  3479. Data Collection Facility. 
  3480.  
  3481.  
  3482. ΓòÉΓòÉΓòÉ 12.3.1. DCFGetStats() API ΓòÉΓòÉΓòÉ
  3483.  
  3484. This API provides the ability to retrieve the PM Patrol real-time statistics. 
  3485. These statistics are maintained in a shared memory segment and retrieval with 
  3486. DCFGetStats() is therefore VERY fast. However, it is highly recommended that 
  3487. this API be called no more frequently that once per second. Since PM Patrol 
  3488. updates this structure at most once per second, calling this API more 
  3489. frequently than PM Patrol updates it would be useless and waste CPU. 
  3490.  
  3491. Prototype: APIRC DCFGetStats (PDCFSTATS pDCFStats)
  3492.  
  3493. Parms:   PDCFSTATS      ... Address of DCFSTATS structure
  3494.  
  3495. Returns:  DCF_NO_ERROR    ... Successful with no errors
  3496.       DCF_PARM_ERROR   ... Invalid parm specified
  3497.       DCF_INACTIVE_ERROR ... DCF not active
  3498.  
  3499. Notes:   Statistics are updated at frequencies defined in the PM Patrol
  3500.       "Refresh Settings" dialog under "Settings" options.
  3501.       Refer to PMPAPI.H for statistical items collected by DCF.
  3502.  
  3503. Example:  Query current statistics and display drives on-line
  3504. _________________________________________________________________________
  3505. #include <stdio.h>
  3506. #include <stdlib.h>
  3507. #include <pmpapi.h>
  3508.  
  3509. INT main(INT argc, CHAR **argv)
  3510. {
  3511.  APIRC    rc;      /* API return code          */
  3512.  PDCFSTATS  pDCFStats;  /* pointer to DCF statistics buffer */
  3513.  
  3514.  /* allocate memory for statistics buffer */
  3515.  pDCFStats=(PDCFSTATS) malloc(sizeof(DCFSTATS));
  3516.  
  3517.  /* retrieve current statistics */
  3518.  rc=DCFGetStats(pDCFStats);
  3519.  if (rc==DCF_NO_ERROR)
  3520.   printf("Drives On-line: %s\n", pDCFStats->drivesOnLine);
  3521.  else
  3522.   printf("PM Patrol DCF not active right now.\n");
  3523.  
  3524.  /* exit program with return code */
  3525.  return rc;
  3526. }
  3527.  
  3528.  
  3529. ΓòÉΓòÉΓòÉ 12.3.2. DCFUserDefined() API ΓòÉΓòÉΓòÉ
  3530.  
  3531. This API provides the ability to post a user defined monitor to PM Patrol for 
  3532. display on the Status Line. It is highly recommended that this API call be 
  3533. issued no frequently that once per second. The maximum length of the buffer is 
  3534. 20 bytes. PM Patrol will force this if the length exceeds this limit. 
  3535.  
  3536. Prototype: APIRC DCFUSerDefined (PCHAR buffer)
  3537.  
  3538. Parms:   PCHAR        ... Address of user defined monitor buffer
  3539.  
  3540. Returns:  DCF_NO_ERROR    ... Successful with no errors
  3541.       DCF_PARM_ERROR   ... Invalid parm specified
  3542.       DCF_INACTIVE_ERROR ... DCF not active
  3543.  
  3544. Example:  Tell PM Patrol to display your name on the Status Line
  3545. _________________________________________________________________________
  3546. #include <stdio.h>
  3547. #include <stdlib.h>
  3548. #include <pmpapi.h>
  3549.  
  3550. INT main(INT argc, CHAR **argv)
  3551. {
  3552.  APIRC  rc;  /* API return code  */
  3553.  
  3554.  /* post monitor buffer to PM Patrol */
  3555.  rc=DCFUserDefined("My name is Dave");
  3556.  if (rc==DCF_NO_ERROR)
  3557.   printf("PMP will show my name on the Status Line\n");
  3558.  else
  3559.   printf("PM Patrol DCF not active right now.\n");
  3560.  
  3561.  /* exit program with return code */
  3562.  return rc;
  3563. }
  3564.  
  3565.  
  3566. ΓòÉΓòÉΓòÉ 12.3.3. DCFVerify() API ΓòÉΓòÉΓòÉ
  3567.  
  3568. This API provides the ability to verify the active state of PM Patrol's Data 
  3569. Collection Facility. 
  3570.  
  3571. Prototype: BOOL DCFVerify (void)
  3572.  
  3573. Parms:   None
  3574.  
  3575. Returns:  TRUE  ... DCF active
  3576.       FALSE ... DCF not active
  3577.  
  3578. Example:  Print status of the DCF
  3579. _________________________________________________________________________
  3580. #include <stdio.h>
  3581. #include <stdlib.h>
  3582. #include <pmpapi.h>
  3583.  
  3584. INT main(INT argc, CHAR **argv)
  3585. {
  3586.  BOOL  activeInd;    /* active indicator */
  3587.  
  3588.  /* verify state */
  3589.  activeInd=DCFVerify();
  3590.  if (activeInd==TRUE)
  3591.   printf("PM Patrol DCF is active\n");
  3592.  else
  3593.   printf("PM Patrol DCF is not active\n");
  3594.  
  3595.  /* exit program with active status */
  3596.  return (INT) activeInd;
  3597. }
  3598.  
  3599.  
  3600. ΓòÉΓòÉΓòÉ 12.3.4. PMPShutDown() API ΓòÉΓòÉΓòÉ
  3601.  
  3602. This API will completely shutdown PM Patrol and the Data Collection Facility. 
  3603.  
  3604. Prototype: BOOL PMPShutDown (void)
  3605.  
  3606. Parms:   None
  3607.  
  3608. Returns:  TRUE  ... Successful with no errors
  3609.       FALSE ... PM Patrol not active
  3610.  
  3611. Example:  Shutdown PM Patrol
  3612. _________________________________________________________________________
  3613. #include <stdio.h>
  3614. #include <stdlib.h>
  3615. #include <pmpapi.h>
  3616.  
  3617. INT main(INT argc, CHAR **argv)
  3618. {
  3619.  BOOL  shutdownInd;
  3620.  
  3621.  /* shutdown and print message */
  3622.  shutdownInd=PMPShutDown();
  3623.  if (shutdownInd==TRUE)
  3624.   printf("PM Patrol and DCF now shutdown.\n");
  3625.  else
  3626.   printf("PM Patrol not active.\n");
  3627.  
  3628.  /* exit program with shutdown status */
  3629.  return (INT) shutdownInd;
  3630. }
  3631.  
  3632.  
  3633. ΓòÉΓòÉΓòÉ 13. Debug Facility ΓòÉΓòÉΓòÉ
  3634.  
  3635. This section discusses the Debug Facility integrated with PM Patrol. 
  3636.  
  3637.  
  3638. ΓòÉΓòÉΓòÉ 13.1. DBug Definition ΓòÉΓòÉΓòÉ
  3639.  
  3640. DBug is a flexible and easy to use real-time debugging for the software 
  3641. engineer/developer that provides debugging capabilities that are impossible for 
  3642. the source-level debugger, easier to use, and often more convenient. 
  3643.  
  3644. The concept of DBug is simple. You place 1 or more "DBUG" statements in your 
  3645. program source code at a strategic point for the purpose of displaying a 
  3646. message, the content of variables or memory, or time stamping a point of entry. 
  3647. Compile and run your program(s). While or after running your program(s), you 
  3648. can view the current results via the "DBug" window or view the DBug log file to 
  3649. browse your DBug results. 
  3650.  
  3651.  
  3652. ΓòÉΓòÉΓòÉ 13.2. Using DBug ΓòÉΓòÉΓòÉ
  3653.  
  3654. When you compile your programs you include the C/C++ header file "dbug.h" and 
  3655. specify the compiler directive "-DDEBUG". You must link your program with the 
  3656. DBug Import Library "DBUGAPI.LIB" to resolve externs. 
  3657.  
  3658. Once you're done testing and want to remove the DBUG statements for 
  3659. "production" use, you may: 
  3660.  
  3661.    1. Recompile your program(s) WITHOUT specifying the compiler directive 
  3662.       "-DDEBUG". The compiler will ignore the DBUG statements. Linking with 
  3663.       "DBUGAPI.LIB" is now unnecessary. 
  3664.  
  3665.    2. Manually remove each DBUG statement. Recompile and link. 
  3666.  
  3667.       Our recommendation is that you leave the "dbug.h" include file in the 
  3668.       program(s) and choose option 1 above. This allows you to, with just a 
  3669.       recompile, have your run-time debugging enabled quickly for testing. 
  3670.  
  3671.  DBUG statements are C/C++ macros which map to a single API. There is a 
  3672.  "generic" DBUG macro for any use, and specific macros for each unique standard 
  3673.  C data type: 
  3674.  
  3675.    1. The DBUG macro is generic and allows you to display the contents from any 
  3676.       data type as well as any chunk of memory. 
  3677.  
  3678.    2. The DBUGM macro displays a simple message of your choice. 
  3679.  
  3680.    3. The DBUGS macro displays the contents of a SHORT data type. 
  3681.  
  3682.    4. The DBUGL macro displays the contents of a LONG data type. 
  3683.  
  3684.    5. The DBUGI macro displays the contents of a INTEGER data type. 
  3685.  
  3686.    6. The DBUGD macro displays the contents of a DOUBLE data type. 
  3687.  
  3688.    7. The DBUGC macro displays the contents of a CHAR data type. 
  3689.  
  3690.    8. The DBUGZ macro displays the contents of a STRING data type. 
  3691.  
  3692.    9. The DBUGP macro displays the contents of a POINTER data type. 
  3693.  
  3694.   10. The DBUGOPEN macro opens a new DBug log file. 
  3695.  
  3696.   11. The DBUGCLOSE macro closes the DBug log file. 
  3697.  
  3698.   12. The DBUGSTOP macro terminates the DBug facility. 
  3699.  
  3700.  Each DBUG statement will cause an IPC message to be build and sent to the 
  3701.  central DBug program. The DBug program will then display the message in his 
  3702.  standard format and log it for later recall - if logging is turned on. 
  3703.  
  3704.  If the DBug program is not presently running to receive these requests, your 
  3705.  DBUG statements will be ignored at run-time. The effort required to complete a 
  3706.  single DBUG within your program(s) is very minimal and insignificant. 
  3707.  
  3708.  The DBug program can be started and stopped at any time - even when programs 
  3709.  are actively DBUGing. If restarted, DBug will continue pulling DBUGs from his 
  3710.  queue and displaying/logging them. 
  3711.  
  3712.  DBug will handle bursts of DBUGs easily as it offers a 256K maximum buffer. 
  3713.  DBug will only allocate/commit enough memory to hold each DBUG request - not 
  3714.  the whole 256K. The 256K buffer is therefore used optimally and requires 
  3715.  little real memory from OS/2. 
  3716.  
  3717.  When monitoring DBug, minimize the window if large amounts of DBUGs are be 
  3718.  displayed. This will significantly improve how fast DBug displays and reduce 
  3719.  the overhead of displaying results. 
  3720.  
  3721.  DBug has two log files and are created in the drive/directory where DBug was 
  3722.  started. If started and controlled from PM Patrol, these log files will reside 
  3723.  in the directory from where PM Patrol was installed and started. 
  3724.  
  3725.    1. The primary and active log "DBUG.LOG" contains current data. 
  3726.  
  3727.    2. The backup log "DBUG.BAK" contains the previous primary data after a new 
  3728.       log file is opened. 
  3729.  
  3730.       When logging is opened, a DBUG message is placed at the beginning of the 
  3731.       DBug log file. 
  3732.  
  3733.       Note:  DBug log files are automatically recycled at midnight so that 
  3734.       under continuous operation, each log will contain a full 24 hours of 
  3735.       information. Therefore, up to 2 days (primary and backup) of DBug 
  3736.       information can be reviewed any time. 
  3737.  
  3738.  If Dbug has nothing to do, absolutely no CPU is used. The small amount of DBug 
  3739.  memory requirements are "swappable" to make room for more active demanding 
  3740.  programs. 
  3741.  
  3742.  DBug is a high performance debugging tool for even the most intense 
  3743.  environments. When the Dbug window is minimized or DBug is running in "Quiet" 
  3744.  mode, DBug can handle several hundred DBUGs per second, even more for highend 
  3745.  Pentium or PowerPC processors. 
  3746.  
  3747.  
  3748. ΓòÉΓòÉΓòÉ 13.3. DBug Programming Files ΓòÉΓòÉΓòÉ
  3749.  
  3750. The DBug software contains 3 files for DBug programming purposes: 
  3751.  
  3752.    1. DBUG.H is a C/C++ header containing the macros for DBug. "Include" this 
  3753.       header file in your C/C++ programs. 
  3754.  
  3755.    2. DBUGAPI.LIB is the Import Library to link with to resolve DBUG APIs. You 
  3756.       must link (LINK386) with this Import Library to resolve external 
  3757.       references and is specified in the LINK386 options. 
  3758.  
  3759.    3. DBUGAPI.DLL is the Dynamic Link Library which holds the actual code of 
  3760.       APIs 
  3761.  
  3762.  For compiling and linking, append the installation path used for PM Patrol to 
  3763.  the following statements in your CONFIG.SYS file: 
  3764.  
  3765.    1. "LIB" statement for the API import library (DBUGAPI.LIB). 
  3766.  
  3767.    2. "INCLUDE" statement for the API C/C++ header (DBUG.H). 
  3768.  
  3769.  Make sure the DBug DLL is available at run time by appending the installation 
  3770.  path used for PM Patrol to the following statements in your CONFIG.SYS file: 
  3771.  
  3772.    1. "LIBPATH" statement for the API DLL (DBUGAPI.DLL). 
  3773.  
  3774.  
  3775. ΓòÉΓòÉΓòÉ 13.4. DBug Macro Set ΓòÉΓòÉΓòÉ
  3776.  
  3777. This section describes in detail the C/C++ macro set for using the Debug 
  3778. Facility. 
  3779.  
  3780.  
  3781. ΓòÉΓòÉΓòÉ 13.4.1. DBUG() Macro ΓòÉΓòÉΓòÉ
  3782.  
  3783. The DBUG macro is generic and allows you to display the contents from any data 
  3784. type as well as any chunk of memory. 
  3785.  
  3786. Prototype: ULONG  DBUG (PVOID address, USHORT size, PCHAR note)
  3787.  
  3788. Parms:   address       ... Address to displayed/dumped
  3789.       size        ... Size of data type or memory to be display
  3790.       note        ... A personal description of your choice
  3791.  
  3792. Returns:  NO_ERROR      ... Successful with no errors, or error code
  3793.  
  3794. Example:
  3795. _________________________________________________________________________
  3796. #include <stdio.h>
  3797. #include <stdlib.h>
  3798. #include <dbug.h>
  3799.  ...
  3800.  
  3801.  CHAR  array[60];
  3802.  
  3803.  DBUG(array, sizeof(array), "my array");
  3804.  
  3805.  
  3806. ΓòÉΓòÉΓòÉ 13.4.2. DBUGM() Macro ΓòÉΓòÉΓòÉ
  3807.  
  3808. The DBUGM macro displays a simple message of your choice. 
  3809.  
  3810. Prototype: ULONG  DBUGM(PCHAR message)
  3811.  
  3812. Parms:   message       ... A personal description of your choice
  3813.  
  3814. Returns:  NO_ERROR      ... Successful with no errors, or error code
  3815.  
  3816. Example:
  3817. _________________________________________________________________________
  3818. #include <stdio.h>
  3819. #include <stdlib.h>
  3820. #include <dbug.h>
  3821.  ...
  3822.  
  3823.  DBUGM("Point 1 of program");
  3824.  
  3825.  
  3826. ΓòÉΓòÉΓòÉ 13.4.3. DBUGS() Macro ΓòÉΓòÉΓòÉ
  3827.  
  3828. The DBUGS macro displays the contents of a SHORT data type. 
  3829.  
  3830. Prototype: ULONG  DBUGS(PSHORT address, PCHAR note)
  3831.  
  3832. Parms:   address       ... Address of short to be displayed
  3833.       note        ... A personal description of your choice
  3834.  
  3835. Returns:  NO_ERROR      ... Successful with no errors, or error code
  3836.  
  3837. Example:
  3838. _________________________________________________________________________
  3839. #include <stdio.h>
  3840. #include <stdlib.h>
  3841. #include <dbug.h>
  3842.  ...
  3843.  
  3844.  USHORT  variable;
  3845.  
  3846.  DBUGS(&variable, "my variable");
  3847.  
  3848.  
  3849. ΓòÉΓòÉΓòÉ 13.4.4. DBUGS() Macro ΓòÉΓòÉΓòÉ
  3850.  
  3851. The DBUGL macro displays the contents of a LONG data type. 
  3852.  
  3853. Prototype: ULONG  DBUGL(PLONG address, PCHAR note)
  3854.  
  3855. Parms:   address       ... Address of long to be displayed
  3856.       note        ... A personal description of your choice
  3857.  
  3858. Returns:  NO_ERROR      ... Successful with no errors, or error code
  3859.  
  3860. Example:
  3861. _________________________________________________________________________
  3862. #include <stdio.h>
  3863. #include <stdlib.h>
  3864. #include <dbug.h>
  3865.  ...
  3866.  
  3867.  LONG  variable;
  3868.  
  3869.  DBUGL(&variable, "my variable");
  3870.  
  3871.  
  3872. ΓòÉΓòÉΓòÉ 13.4.5. DBUGI() Macro ΓòÉΓòÉΓòÉ
  3873.  
  3874. The DBUGI macro displays the contents of a INTEGER data type. 
  3875.  
  3876. Prototype: ULONG  DBUGI(PINT address, PCHAR note)
  3877.  
  3878. Parms:   address       ... Address of integer to be displayed
  3879.       note        ... A personal description of your choice
  3880.  
  3881. Returns:  NO_ERROR      ... Successful with no errors, or error code
  3882.  
  3883. Example:
  3884. _________________________________________________________________________
  3885. #include <stdio.h>
  3886. #include <stdlib.h>
  3887. #include <dbug.h>
  3888.  ...
  3889.  
  3890.  INT   variable;
  3891.  
  3892.  DBUGI(&variable, "my variable");
  3893.  
  3894.  
  3895. ΓòÉΓòÉΓòÉ 13.4.6. DBUGD() Macro ΓòÉΓòÉΓòÉ
  3896.  
  3897. The DBUGD macro displays the contents of a DOUBLE data type. 
  3898.  
  3899. Prototype: ULONG  DBUGD(PDOUBLE address, PCHAR note)
  3900.  
  3901. Parms:   address       ... Address of double to be displayed
  3902.       note        ... A personal description of your choice
  3903.  
  3904. Returns:  NO_ERROR      ... Successful with no errors, or error code
  3905.  
  3906. Example:
  3907. _________________________________________________________________________
  3908. #include <stdio.h>
  3909. #include <stdlib.h>
  3910. #include <dbug.h>
  3911.  ...
  3912.  
  3913.  DOUBLE  variable;
  3914.  
  3915.  DBUGD(&variable, "my variable");
  3916.  
  3917.  
  3918. ΓòÉΓòÉΓòÉ 13.4.7. DBUGC() Macro ΓòÉΓòÉΓòÉ
  3919.  
  3920. The DBUGC macro displays the contents of a CHAR data type. 
  3921.  
  3922. Prototype: ULONG  DBUGC(PINT address, PCHAR note)
  3923.  
  3924. Parms:   address       ... Address of char to be displayed
  3925.       note        ... A personal description of your choice
  3926.  
  3927. Returns:  NO_ERROR      ... Successful with no errors, or error code
  3928.  
  3929. Example:
  3930. _________________________________________________________________________
  3931. #include <stdio.h>
  3932. #include <stdlib.h>
  3933. #include <dbug.h>
  3934.  ...
  3935.  
  3936.  CHAR   variable;
  3937.  
  3938.  DBUGC(&variable, "my variable");
  3939.  
  3940.  
  3941. ΓòÉΓòÉΓòÉ 13.4.8. DBUGP() Macro ΓòÉΓòÉΓòÉ
  3942.  
  3943. The DBUGP macro displays the contents of a POINTER data type. 
  3944.  
  3945. Prototype: ULONG  DBUGP(PVOID address, PCHAR note)
  3946.  
  3947. Parms:   address       ... Address of pointer to be displayed
  3948.       note        ... A personal description of your choice
  3949.  
  3950. Returns:  NO_ERROR      ... Successful with no errors, or error code
  3951.  
  3952. Example:
  3953. _________________________________________________________________________
  3954. #include <stdio.h>
  3955. #include <stdlib.h>
  3956. #include <dbug.h>
  3957.  ...
  3958.  
  3959.  PVOID  variable;
  3960.  
  3961.  /* display pointer value */
  3962.  DBUGP(&variable, "my variable");
  3963.  
  3964.  /* display memory contents of size 2048 bytes */
  3965.  DBUG(variable, 2048, "my variable memory");
  3966.  
  3967.  
  3968. ΓòÉΓòÉΓòÉ 13.4.9. DBUGZ() Macro ΓòÉΓòÉΓòÉ
  3969.  
  3970. The DBUGZ macro displays the contents of a STRING data type. 
  3971.  
  3972. Prototype: ULONG  DBUGZ(PVOID address, PCHAR note)
  3973.  
  3974. Parms:   address       ... Address of string to be displayed
  3975.       note        ... A personal description of your choice
  3976.  
  3977. Returns:  NO_ERROR      ... Successful with no errors, or error code
  3978.  
  3979. Example:
  3980. _________________________________________________________________________
  3981. #include <stdio.h>
  3982. #include <stdlib.h>
  3983. #include <dbug.h>
  3984.  ...
  3985.  
  3986.  CHAR  variable[32]="Hello world";
  3987.  
  3988.  DBUGZ(variable, "my variable");
  3989.  
  3990.  
  3991. ΓòÉΓòÉΓòÉ 13.4.10. DBUGOPEN() Macro ΓòÉΓòÉΓòÉ
  3992.  
  3993. The DBUGOPEN macro opens a new DBug log file. 
  3994.  
  3995. Prototype: ULONG  DBUGOPEN(VOID)
  3996.  
  3997. Parms:   None
  3998.  
  3999. Returns:  NO_ERROR      ... Successful with no errors, or error code
  4000.  
  4001. Example:
  4002. _________________________________________________________________________
  4003. #include <stdio.h>
  4004. #include <stdlib.h>
  4005. #include <dbug.h>
  4006.  ...
  4007.  
  4008.  DBUGOPEN();
  4009.  
  4010.  
  4011. ΓòÉΓòÉΓòÉ 13.4.11. DBUGCLOSE() Macro ΓòÉΓòÉΓòÉ
  4012.  
  4013. The DBUGCLOSE macro closes the DBug log file. 
  4014.  
  4015. Prototype: ULONG  DBUGCLOSE(VOID)
  4016.  
  4017. Parms:   None
  4018.  
  4019. Returns:  NO_ERROR      ... Successful with no errors, or error code
  4020.  
  4021. Example:
  4022. _________________________________________________________________________
  4023. #include <stdio.h>
  4024. #include <stdlib.h>
  4025. #include <dbug.h>
  4026.  ...
  4027.  
  4028.  DBUGCLOSE();
  4029.  
  4030.  
  4031. ΓòÉΓòÉΓòÉ 13.4.12. DBUGSTOP() Macro ΓòÉΓòÉΓòÉ
  4032.  
  4033. The DBUGSTOP macro terminates the DBug Facility. 
  4034.  
  4035. Prototype: ULONG  DBUGSTOP(VOID)
  4036.  
  4037. Parms:   None
  4038.  
  4039. Returns:  NO_ERROR      ... Successful with no errors, or error code
  4040.  
  4041. Example:
  4042. _________________________________________________________________________
  4043. #include <stdio.h>
  4044. #include <stdlib.h>
  4045. #include <dbug.h>
  4046.  ...
  4047.  
  4048.  DBUGSTOP();
  4049.  
  4050.  
  4051. ΓòÉΓòÉΓòÉ 13.5. DBug Output ΓòÉΓòÉΓòÉ
  4052.  
  4053. The following is a sample output from the DBug Facility. 
  4054.  
  4055.  
  4056. Sample output
  4057. ------------------------------------------------------------------------
  4058. From: PID 00a3  At 21:06:42  DBUG.CPP (line 474)
  4059. Note: DBug log opened.
  4060. Type: INFO, 0 bytes  (0 qCnt)
  4061. ------------------------------------------------------------------------
  4062. From: PID 00a8  At 21:07:10  TEST.C (line 22)
  4063. Note: sample DBUGs
  4064. Type: INFO, 0 bytes  (3 qCnt)
  4065. ------------------------------------------------------------------------
  4066. From: PID 00a8  At 21:07:10  TEST.C (line 23)
  4067. Note: my return code (little endian)
  4068. Type: LONG, 4 bytes  (2 qCnt)
  4069. 0000: 00 00 00 00                   |....       |
  4070. ------------------------------------------------------------------------
  4071. From: PID 00a8  At 21:07:10  TEST.C (line 24)
  4072. Note: a chunk of memory
  4073. Type: VOID, 120 bytes  (1 qCnt)
  4074. 0000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
  4075. 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
  4076. 0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
  4077. 0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
  4078. 0040: 00 00 00 00 00 00 00 00 00 00 43 44 45 46 00 00 |..........CDEF..|
  4079. 0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
  4080. 0060: 00 00 00 00 00 43 00 00 00 00 00 00 00 00 60 c6 |.....C........`.|
  4081. 0070: a2 41 00 00 00 00 10 59             |.A.....Y     |
  4082. ------------------------------------------------------------------------
  4083. From: PID 00a8  At 21:07:10  TEST.C (line 25)
  4084. Note: my double value
  4085. Type: DOUBLE, 8 bytes  (0 qCnt)
  4086. 0000: 33 33 33 33 b3 00 ab 40             |3333...@     |
  4087. ------------------------------------------------------------------------
  4088.  
  4089. Using the last DBUG for example, the DBug output contains four (4) main 
  4090. sections: 
  4091.  
  4092.    1. The From section identifies who (what program) the DBUG was sent from: 
  4093.  
  4094.         a. The Process ID (as hex) 
  4095.  
  4096.         b. The time the DBug was issued (not received and displayed/logged). 
  4097.  
  4098.         c. The program source code name and line number of the DBUG statement 
  4099.            within the program source. 
  4100.  
  4101.    2. The Note section is where your personal note/description from the DBUG 
  4102.       statement is displayed. 
  4103.  
  4104.    3. The Type section identifies the data type displayed, the number of bytes 
  4105.       for the data, and how many DBUG statements remain in the DBug queue to be 
  4106.       displayed (qCnt): 
  4107.  
  4108.         a. These include all standard data types such as DOUBLE, CHAR, PCHAR, 
  4109.            INT, and so on. 
  4110.  
  4111.         b. VOID is displayed when a "memory chunk" is displayed. 
  4112.  
  4113.         c. INFO is displayed when just a DBUGM (Message) statement is issued. 
  4114.  
  4115.    4. The last section displays the contents (in hex and ASCII representation) 
  4116.       of the data type. The left most column of this section is the offset 
  4117.       starting at zero. 
  4118.  
  4119.  
  4120. ΓòÉΓòÉΓòÉ 14. Performance and Tuning ΓòÉΓòÉΓòÉ
  4121.  
  4122. This document makes an assumption that the reader is familiar with OS/2 Warp. 
  4123. It presents general and specific tuning information for a computer that will 
  4124. have or has had OS/2 Warp installed. 
  4125.  
  4126.  
  4127. ΓòÉΓòÉΓòÉ 14.1. General Setup Considerations ΓòÉΓòÉΓòÉ
  4128.  
  4129. There are some basic considerations that need to be made about the computer 
  4130. that you will install Warp on. It breaks down into 3 elements: processor, 
  4131. memory and disk. These three major elements, interestingly enough, have 
  4132. remained the three major elements since the computer was first developed. 
  4133.  
  4134. In most cases the processor that you have in your system has a minimal impact 
  4135. on performance compared to the amount of memory and the speed of the disk. The 
  4136. only real considerations to make with respect to processor are its age. 
  4137.  
  4138. You want to avoid 386 and 386SX processors. You want processors that can be 
  4139. upgraded and those that support instruction caching sometimes referred to as 
  4140. Level 1 or Level 2 cache. 
  4141.  
  4142. There really is no optimum level instruction cache size. More instruction cache 
  4143. is usually better than less. The only real determinant should be costs. 
  4144.  
  4145. Memory, also called RAM, is a different story. Without enough memory your 
  4146. system will run slowly.  If you cannot afford to buy memory for your system, 
  4147. then you must manage the things you install. 
  4148.  
  4149. You only want to install fonts, device drivers, objects and applications that 
  4150. you will actually use. You may think that just because you have not started an 
  4151. installed application, it is not using any memory. This is not always the case. 
  4152. Many newer OS/2 applications will register classes and objects with the 
  4153. WorkPlace Shell or add items into path statements, set statements and the like. 
  4154. Many of these things will cause memory to be used even when the program is not 
  4155. running. 
  4156.  
  4157. In some cases, the program will require special device drivers be installed 
  4158. which also use up memory. 
  4159.  
  4160. Other things that affect memory usage are disk cache, CDROM cache, multimedia 
  4161. support and file buffers. The important factor to consider for the disk cache, 
  4162. is that it is designed for general use. 
  4163.  
  4164. Since most systems are not general use, the disk cache should be tuned to the 
  4165. specific system environment to optimize memory usage. We will discuss the disk 
  4166. cache considerations in more detail when we look at the file system options. 
  4167.  
  4168. In addition to RAM and the CPU, one of the most important pieces of hardware on 
  4169. your system is the hard disk. It will affect the performance of starting your 
  4170. system, loading applications, the speed of applications, and the general 
  4171. performance of your system. 
  4172.  
  4173. It is best to have a disk subsystem which uses a bus-mastering type of adapter. 
  4174. Many SCSI devices and some of the PCI devices have this capability. These types 
  4175. of devices allow for multiple requests to be sent to the disk device to be 
  4176. processed rather than just one command or function at a time. They also allow 
  4177. what is called scatter/gather capabilities. 
  4178.  
  4179. Without bus mastering, data that is transferred between the computer's memory 
  4180. and the disk must be in contiguous memory, one byte after the other. With bus 
  4181. mastering, the data does not have to be contiguous and does not have to be on a 
  4182. 64K byte boundary. Bus-mastering relieves the system of a lot of overhead and 
  4183. therefore performs faster in actual usage, although  you will see little or no 
  4184. difference when running benchmarks. 
  4185.  
  4186. When the memory in your system is overcommitted, that is, the operating system 
  4187. and the applications you are running need more memory than is physically 
  4188. available in your computer, Warp will page, or swap, code and data that has not 
  4189. been accessed for a while to the disk in order to make room for the needed code 
  4190. and data. In this instance, the disk is the single most important factor in 
  4191. your system with respect to performance. 
  4192.  
  4193. Other considerations with regard to the disk is whether or not it has its own 
  4194. caching. If it does and your applications perform mainly sequential disk 
  4195. access, then you can reduce the size of your software disk cache. However, this 
  4196. is subject to the amount of cache installed on the controller. Usually, 256 KB 
  4197. cache is a minimum necessary setting for disk cache. 
  4198.  
  4199. Hardware disk cache will have little or no effect when the programs perform 
  4200. random disk operations. The hardware cache will improve the performance of 
  4201. starting the Warp operating system and the applications. 
  4202.  
  4203. Run a normal load of programs on your machine and then check 
  4204. C:\OS2\SYSTEM\SWAPPER.DAT. Divide its size by 1024 and use that to determine 
  4205. how much space to pre-allocate for your swappath. For example, if your system 
  4206. normally has a 14 MB SWAPPER.DAT, change your swappath line in CONFIG.SYS to 
  4207. like "SWAPPATH=C:\OS2\SYSTEM 2048 14680". 
  4208.  
  4209. If you're running a video driver at a very high color and resolution (65K or 
  4210. 16.6 Million colors) that can severely impact system performance. Try running 
  4211. at 256 colors and see if it works any better. 
  4212.  
  4213. Don't run more than one CPU resource monitor at a time. 
  4214.  
  4215. If you're running a 4 MB system, expect a lot of swapping. More memory will 
  4216. always improve performance. 
  4217.  
  4218. Printing can be CPU intensive. Using the OS/2 spooler and adjusting the spooler 
  4219. priority, you can fine tune the printing overhead so that it has the least 
  4220. negative impact on system performance while keeping the printer(s) busy. A 
  4221. priority setting above 50% may be too aggressive for some slower low-end 
  4222. systems. 
  4223.  
  4224. Keep in mind, the OS/2 spooler requires memory as well (about 512 KB) and will 
  4225. reduce available memory accordingly. If your system has 8 MB of memory and you 
  4226. print infrequently, consider turning off the OS/2 spooler. 
  4227.  
  4228.  
  4229. ΓòÉΓòÉΓòÉ 14.2. File System Performance ΓòÉΓòÉΓòÉ
  4230.  
  4231. OS/2 supports two file systems for use on your hard disks: FAT and HPFS. No 
  4232. matter which file system is used, there are some basic considerations. 
  4233.  
  4234. You need to install the file system depending on which operating systems will 
  4235. access the data. If you plan to boot a DOS or Windows system natively, then any 
  4236. data that will be accessed must exist on a FAT disk partition. 
  4237.  
  4238. If you will only be running DOS and Windows applications in a Warp VDM ( 
  4239. Virtual DOS Machine ), then the file system can be HPFS or FAT. 
  4240.  
  4241. Also, when accessing a file on a server, and the server file system is HPFS, 
  4242. you do not need to install HPFS on your local client machine. HPFS only needs 
  4243. to be installed on a computer when a partition on a local hard disk is 
  4244. formatted as HPFS. 
  4245.  
  4246. The amount of memory you have in your machine should affect the decision about 
  4247. which file system to use. When HPFS is installed, it requires a minimum 200 to 
  4248. 250 KB of working set, plus the space allocated for its cache. This is a 
  4249. significant amount of memory and is the main reason why FAT is used when Warp 
  4250. is installed on a system that contains 4 MB of physical memory.. 
  4251.  
  4252. Regardless of which file system you select, you need to plan for future 
  4253. requirements: How will maintenance and fixes be applied? Where will 
  4254. applications be installed? Where will data reside? etc. 
  4255.  
  4256. It is recommended that when you set up your hard disk, you create a minimum of 
  4257. 3 partitions. One will be for the operating system(s), one for your 
  4258. applications and static data files, and another for dynamic data files and 
  4259. temporary files.  Decide whether you want to use Boot Manager or Dual Boot. 
  4260.  
  4261. If you select Dual Boot, then OS/2 must be installed with FAT file system. 
  4262.  
  4263. For temporary files, it is better to have them preallocated and reuse them 
  4264. rather than create and destroy them every time. Extending a file can be almost 
  4265. twice as slow as just writing to a file. Also, if you reuse files, it will 
  4266. definitely reduce the fragmentation in your disk directories. 
  4267.  
  4268.  
  4269. ΓòÉΓòÉΓòÉ 14.2.1. FAT File System ΓòÉΓòÉΓòÉ
  4270.  
  4271. FAT is best suited for disk partitions that are 80 MB or less in size or that 
  4272. have a limited number of files installed. Usually, 256 files is a good target, 
  4273. with up to 500 acceptable. 
  4274.  
  4275. The number of files become important because FAT files are allocated based on a 
  4276. sector size. The sector size is determined by the size of the disk partition 
  4277. and can be 2K, 4K, 8K or higher. 
  4278.  
  4279. Since most file sizes are not an exact multiple of the sector size, disk space 
  4280. gets wasted. For example, installing DOS, Windows and Warp on a 100 MB 
  4281. partition resulted in 2.2 MB of disk space being wasted. 
  4282.  
  4283. Also, when Warp is allocating space for a file in a FAT partition, it will look 
  4284. for the largest available free space area to write the data or create the file. 
  4285.  
  4286. If lots of files were created and deleted, or expanded, these free space areas 
  4287. become smaller and smaller and are spread out over the disk. This is referred 
  4288. to as fragmentation. 
  4289.  
  4290. When a file is stored in many areas on the disk, it takes longer to read that 
  4291. data simply because the disk head has to do more seeking. 
  4292.  
  4293. The FAT file system disk cache is defined by the DISKCACHE= statement in the 
  4294. CONFIG.SYS file. New in Warp is the "D" designation for the size of the disk 
  4295. cache. Warp will allocate space for the disk cache based on the amount of 
  4296. physical memory that is installed in the system. If more than 8 MB is 
  4297. installed, 10% of the physical memory will be used for the disk cache up to a 
  4298. maximum of 14.4 MB. 
  4299.  
  4300. Based on what applications and support you install in your system, this may be 
  4301. too high and cause you to overcommit your memory. If there is not a lot of disk 
  4302. work done on your system, or you are using DB/2 or HPFS, then you should reduce 
  4303. the size of your disk cache. A number between 128 and 256K is sufficient for 
  4304. most systems. On a 4 MB system, the disk cache is set to 48K. 
  4305.  
  4306. In conjunction with the cache size, you should also set the cache threshold. 
  4307. This determines which records being written or read will be placed in the 
  4308. cache. The default is 1 sector. 
  4309.  
  4310. If your cache size is 128K or larger, increase this value to at least 16 and 
  4311. preferably 32. More detail about the DISKCACHE= statement will be given in the 
  4312. section on CONFIG.SYS. 
  4313.  
  4314. Some additional items for improving performance using FAT are: 
  4315.  
  4316.    1. Group files by usage, the most used files first, and least used files 
  4317.       last. 
  4318.  
  4319.    2. Group files based on whether they are static or dynamic. All dynamic and 
  4320.       temporary files should be placed in a separate partition. 
  4321.  
  4322.    3. If possible, place all temporary files in a single directory. 
  4323.  
  4324.    4. If possible, permanently create temporary files and reuse them. 
  4325.  
  4326.    5. Only create directories that are really needed. The fewer number of 
  4327.       directories you have to search, the faster your search will be. 
  4328.  
  4329.    6. Defragment your partitions after installing new applications, deleting 
  4330.       files or applying maintenance and fixes. Any DOS defragmentation program 
  4331.       that is aware of hidden files can be used. 
  4332.  
  4333.  
  4334. ΓòÉΓòÉΓòÉ 14.2.2. HPFS File System ΓòÉΓòÉΓòÉ
  4335.  
  4336. HPFS does away with some of the concerns that are prevalent with FAT. Files are 
  4337. allocated with more granularity than FAT, and "free space" is allocated in 
  4338. anticipation of file size growth. Therefore fragmentation is greatly reduced 
  4339. and less disk space is used on a per file basis. It is not uncommon to regain 
  4340. about 10 MB out of 100 MB as compared to using FAT. 
  4341.  
  4342. Also, HPFS is especially efficient when handling large partition sizes, > 100 
  4343. MB, and large numbers of files, > 500. Try to limit the number of individual 
  4344. files in a directory to not exceed 5000. 
  4345.  
  4346. The HPFS file system shipped with the OS/2 product has a cache limit of 2 MB. 
  4347. There is no such limit when using the HPFS386 file system that comes with the 
  4348. LAN Server products. 
  4349.  
  4350. HPFS cache parameters are specified on the IFS statement in the CONFIG.SYS 
  4351. file. As with FAT, you should specify the caching threshold value. Use the 
  4352. /CRECL parameter to do this. Here you specify a number in terms of K bytes. 32 
  4353. KB is usually a good starting value. 
  4354.  
  4355. As mentioned earlier, a minor drawback to HPFS is the amount of extra memory 
  4356. that it requires to achieve its performance. Even if there is no HPFS partition 
  4357. on your system, it will cost between 128 and 130K of working set memory, as 
  4358. well as the space for the HPFS cache. Overall, it's a small price to pay for a 
  4359. high performance file system. 
  4360.  
  4361. If you are installing Warp on an existing DOS and or Windows system, you do not 
  4362. want to install HPFS. When your system is up and running, you can check the 
  4363. working set of your system. 
  4364.  
  4365. If there is enough free memory and you wish to create a HPFS partition, then 
  4366. you can use selective reinstall to install the HPFS support. Remember that any 
  4367. data stored in the HPFS partition can not be accessed if you boot your machine 
  4368. under DOS. 
  4369.  
  4370. Another advantage of HPFS over FAT is in the area of extended attributes (EAs). 
  4371. EAs are data attached to a file and used to provide information about the file 
  4372. it is attached to. 
  4373.  
  4374. The name of an object that appears in an OS/2 folder or on the OS/2 Desktop is 
  4375. stored in EAs. In HPFS, EAs are part of the HPFS file control block which is 
  4376. read when the file is open. 
  4377.  
  4378. In FAT, EAs are stored in a separate file and require additional I/O to access 
  4379. them, and are therefore slower. 
  4380.  
  4381. Overall, HPFS comes highly recommended. It has matured since conception to 
  4382. bring very safe high performance to your system and successfully replaces the 
  4383. age old FAT design. 
  4384.  
  4385.  
  4386. ΓòÉΓòÉΓòÉ 14.2.3. Gospel of Disk Cache ΓòÉΓòÉΓòÉ
  4387.  
  4388. The following "Gospel of Caching According to Max" is provided by Proportional 
  4389. Software based upon a great deal of OS/2 system "tweaking" done by the DCF/2 
  4390. development team. 
  4391.  
  4392. You can get better performance from your system by using the memory you have 
  4393. available to you in the most efficient and effective way. 
  4394.  
  4395. From the table below, select the case that best describes the file system or 
  4396. systems you use and memory available on your system. 
  4397.  
  4398.  
  4399. CASE 1: You use only HPFS or only FAT but not both
  4400. ----------------------------------------------------------------
  4401.                  HPFS only     FAT only
  4402. If system memory is at least   Set CACHE to   Set DISKCACHE to
  4403.         16 MB        2048      2048
  4404.         12 MB        1536      1536
  4405.          8 MB        1024      1024
  4406.  
  4407. FAT DISKCACHE parms:
  4408.      LAZY WRITES        N/A       LW
  4409.  
  4410. HPFS CACHE parms:
  4411.      LAZY WRITES        /LAZY:ON    N/A
  4412.         MAXAGE        >7,500     N/A
  4413.        DISKIDLE        60,000     N/A
  4414.       BUFFERIDLE        60,000     N/A
  4415.  
  4416. If your system is HPFS only REM out the DISKCACHE statement in
  4417. your CONFIG.SYS file. If your system is FAT only, REM out the
  4418. IFS=HPFS.IFS statement.
  4419.  
  4420.  
  4421. CASE 2: You use both HPFS and FAT (active and passive)
  4422. ----------------------------------------------------------------
  4423.                 HPFS active    FAT passive
  4424. If system memory is at least   Set CACHE to   Set DISKCACHE to
  4425.         16 MB       2048       512 -1024
  4426.         12 MB       1536       256 - 512
  4427.          8 MB       1024       128 - 256
  4428.  
  4429. FAT DISKCACHE parms:
  4430.      LAZY WRITES       N/A        LW
  4431.  
  4432. HPFS CACHE parms:
  4433.      LAZY WRITES       /LAZY:ON     N/A
  4434.         MAXAGE       >7,500      N/A
  4435.        DISKIDLE       60,000      N/A
  4436.       BUFFERIDLE       60,000      N/A
  4437.  
  4438.  
  4439. CASE 3: You use both HPFS and FAT (passive and active)
  4440. ----------------------------------------------------------------
  4441.                  HPFS passive    FAT active
  4442. If system memory is at least   Set CACHE to  Set DISKCACHE to
  4443.         16 MB        1024       2048
  4444.         12 MB        768       1536
  4445.          8 MB        512       1024
  4446.  
  4447. FAT DISKCACHE parms:
  4448.      LAZY WRITES        N/A       LW
  4449.  
  4450. HPFS CACHE parms:
  4451.      LAZY WRITES        /LAZY:ON     N/A
  4452.         MAXAGE        >7,500      N/A
  4453.        DISKIDLE        60,000      N/A
  4454.       BUFFERIDLE        60,000      N/A
  4455.  
  4456. A few more notes: 
  4457.  
  4458.    1. For purposes of the table above, "active" and "passive" are descriptors 
  4459.       for the way a partition is used.  If it is seldom used, it is "passive." 
  4460.       If a lot of disk intensive I/O occurs on the partition, it is "active." 
  4461.  
  4462.    2. The HPFS actually requires 128 to 130K of committed memory as opposed to 
  4463.       the widely perceived 512K.  As cache size increases to 2 MB, this 
  4464.       requirement increases as well, up to a maximum of about 240K. 
  4465.  
  4466.    3. The optimal cache size seems to be 1536. 
  4467.  
  4468.    4. When comparing the relative merits of the HPFS versus FAT, consider the 
  4469.       following:  On partitions of identical size, the HPFS gives you about 15% 
  4470.       more space and performance is about 28% better! 
  4471.  
  4472.    5. Instead of continuing to increase performance, a DISKCACHE value in 
  4473.       excess of 2048 seems to degrade it. 
  4474.  
  4475.  
  4476. ΓòÉΓòÉΓòÉ 14.3. System Tuning ΓòÉΓòÉΓòÉ
  4477.  
  4478. Before covering OS/2 system tuning let's review the concept of threads and how 
  4479. they are used in OS/2. Every program that you run on an OS/2 system will 
  4480. process as one or more threads. 
  4481.  
  4482. A thread is the basic unit of work within OS/2. Each thread requires a minimum 
  4483. of 4K stack space. Stack space is used to save parameters and addresses when 
  4484. different functions are called from a thread. 
  4485.  
  4486. These functions might be reading from or writing to a disk, using semaphores, 
  4487. and other system and program functions. It is important to ensure that you 
  4488. allocate enough stack space for the thread to run. 
  4489.  
  4490. You can use programs such as EXEHDR.EXE to see and modify the stack space 
  4491. allocated for your program. All programs, DOS, Windows and OS/2 use a minimum 
  4492. of one thread. Each thread executes at a given priority. 
  4493.  
  4494. The priority is used by OS/2 to determine which thread gets to run when more 
  4495. than one thread is ready to run. The highest-priority thread ready to run will 
  4496. be the one dispatched by the system and given time to run. It is given what is 
  4497. referred to as a "time slice". This is a set period of time during which a 
  4498. thread is allowed to run. After this time has expired, the highest-priority 
  4499. thread that is ready to run will be given a time slice in which to run. 
  4500.  
  4501. If the same thread still wanted to run, and it was the highest-priority thread, 
  4502. it would receive another time slice to run in. 
  4503.  
  4504. OS/2 programs usually run at normal priority, which is 200. Under program 
  4505. control, the program can change its priority to be server class, 300, or 
  4506. time-critical, 800. 
  4507.  
  4508. It can also change its subclass priority between 0 and 31. A thread that has 
  4509. priority 200 and a subclass of 15 has a higher effective priority than a thread 
  4510. with priority 200 and subclass 0, and therefore runs first. 
  4511.  
  4512. All DOS and Windows applications always run at priority 200. In OS/2 Warp, IBM 
  4513. has added the capability to define the subclass priority for these 
  4514. applications. Care should be taken when using this subclass priority since it 
  4515. may cause other programs to run slower or generate errors in the case of 
  4516. communication applications that do not get the subclass boost. 
  4517.  
  4518. Warp will give OS/2 threads a priority boost for specific types of functions 
  4519. and states. Following are the priority boosts that are received, in descending 
  4520. order: 
  4521.  
  4522.    1. Disk I/O: When an interrupt is received stating that a disk operation has 
  4523.       completed, the thread that processes this state will receive a priority 
  4524.       boost for one time slice to process this interrupt. 
  4525.  
  4526.    2. Starved: In the CONFIG.SYS file, there is a statement MAXWAIT=3. The 
  4527.       number 3 specifies how long a thread can be in the ready-to-run state 
  4528.       without having received time to run. If a thread had been waiting to run 
  4529.       for 3 seconds, its priority would be raised to the Starved priority 
  4530.       level. 
  4531.  
  4532.    3. Keyboard: This is a boost in priority given to a thread when it is 
  4533.       interacting with the system keyboard. Basically, it is for accepting 
  4534.       typed in data. 
  4535.  
  4536.    4. Foreground:  This is a priority boost given to all threads of the program 
  4537.       that owns the active window on the OS/2 screen, the one that is 
  4538.       highlighted. 
  4539.  
  4540.    5. Windowed:  Threads which have windows showing on the display will also 
  4541.       receive a priority boost when drawing or writing into that window. 
  4542.  
  4543.  When a thread is in more than one of these states, the system will combine the 
  4544.  states and give a priority based on the combined states. 
  4545.  
  4546.  For DOS and Windows applications, these priority states do not apply. Instead, 
  4547.  a second thread is used to handle the interrupt, and that thread is given an 
  4548.  interrupt boost.. 
  4549.  
  4550.  Idle class is the other priority class that exists in OS/2. This priority 
  4551.  level runs only when nothing else in the system wants to run. Threads in this 
  4552.  class will not receive any of the state boosts. 
  4553.  
  4554.  If DOS and/or Windows applications are being run, then you should avoid the 
  4555.  use of threads that run in idle class because they will never run but will 
  4556.  take up system space. 
  4557.  
  4558.  
  4559. ΓòÉΓòÉΓòÉ 14.3.1. CONFIG.SYS Settings ΓòÉΓòÉΓòÉ
  4560.  
  4561. These are specific things in the CONFIG.SYS file that you can change to affect 
  4562. the performance of your system. 
  4563.  
  4564. First, we cover those statements that you should NOT modify unless you have a 
  4565. system which has a special use, such as a process control system. An example 
  4566. would be a system used to monitor a manufacturing machine or chemical process, 
  4567. where timing and response time are critical factors. 
  4568.  
  4569.    1. PRIORITY_DISK_IO=YES  This allows the application that has screen focus 
  4570.       to receive a priority boost when it's disk operation is complete. This 
  4571.       applies to the first time slice given to the thread after the disk 
  4572.       operation is complete. After the time slice, the state is reset for the 
  4573.       thread and the priority boost removed. 
  4574.  
  4575.    2. MEMMAN=SWAP,PROTECT  Allows OS/2 to swap code and data to disk when more 
  4576.       memory is needed than is physically available in your computer. If you do 
  4577.       not specify SWAP, you will need enough physical memory in you computer to 
  4578.       hold all the code and data that OS/2 and your application needs to run. 
  4579.       You do not pay a penalty by specifying SWAP and then not needing to use 
  4580.       it. The PROTECT parameter allows Dynamic Link Libraries (DLL) to allocate 
  4581.       protected memory. Protected memory is memory that is protected from being 
  4582.       accessed by unauthorized programs. You can also specify a COMMIT 
  4583.       parameter. This forces the system to ensure that enough physical memory 
  4584.       or swap file disk space is available for a memory object when it is 
  4585.       created. Normally, OS/2 commits physical and disk memory when the page of 
  4586.       memory is actually touched. Specifying this parameter can significantly 
  4587.       increase the amount space your swap file uses on disk. 
  4588.  
  4589.    3. TIMESLICE=X,Y  This statement is not found in the CONFIG.SYS file after 
  4590.       you install OS/2 but is sometimes recommended to be added. This was okay 
  4591.       to add for OS/2 2.0, 2.1 or 2.11 systems, but not for OS/2 Warp. In Warp, 
  4592.       it dynamically modify a thread's time slice based on actions that have 
  4593.       occurred. For instance, if a thread took a page fault during it's time 
  4594.       slice, an extra time slice is granted to process what is contained in the 
  4595.       faulted page. An applications doing disk I/O is given an extra time 
  4596.       slices if the data they are reading is in the disk cache. When the 
  4597.       TIMESLICE parameter is used, none of these actions will occur. Instead, 
  4598.       each thread will be given the minimum time slice of X, and its time slice 
  4599.       will not be allowed to go beyond value Y. 
  4600.  
  4601.    4. PRIORITY=DYNAMIC  If DYNAMIC is not specified, then each thread will 
  4602.       receive a minimum and maximum time slice of 32 milliseconds with no 
  4603.       additional time slices as described in the TIMESLICE= statement 
  4604.       description above. 
  4605.  
  4606.    5. DEVICE=C:\OS2\BOOT\VDISK.SYS  This statement allocates a virtual disk in 
  4607.       your computers physical memory. It is used for quick access to often-used 
  4608.       files and programs. This was good for a DOS environment where the extra 
  4609.       memory in your computer was not used by DOS, but OS/2 uses this memory, 
  4610.       and your performance can be adversely affected if a VDISK is used. It is 
  4611.       much better to increase the size of the disk cache if you have unused 
  4612.       physical memory than it is to use VDISK. 
  4613.  
  4614.  Now let us look at statements in CONFIG.SYS which you should change to help 
  4615.  improve the performance of your Warp system. 
  4616.  
  4617.    1. LIBPATH=  This tells the system where to find DLL files and disk device 
  4618.       drivers that Warp and applications use. Place the directory names in 
  4619.       order of usage. The most accessed directory should be first, the least 
  4620.       used last. If possible, place the DLL used by a program in the same 
  4621.       directory as the working directory when the program is running. Then, you 
  4622.       do not need to add that directory to the LIBPATH statement. Also, place 
  4623.       all directories that are on a network at the end of your LIBPATH 
  4624.       statement in case the network goes down and they cannot be accessed. See 
  4625.       the discussion of dynamic LIBPATH support later on in this paper for 
  4626.       additional considerations when accessing network drives. 
  4627.  
  4628.    2. PATH=  is used to specify where Warp searches for program executable 
  4629.       files, EXE, COM, CMD, BAT, etc.  Place the directories in order of most 
  4630.       used first, least used last. If programs will be executed from an object 
  4631.       on your desktop or folder, specify the path there and not in the PATH 
  4632.       statement. Only place directories in the PATH statement for executables 
  4633.       that will be called from other programs or commands. 
  4634.  
  4635.    3. DPATH=  The same principle applies to DPATH as PATH and LIBPATH.  For 
  4636.       resources that applications use, place the most used directories first 
  4637.       and the least used last. 
  4638.  
  4639.    4. BUFFERS=90  Buffers are physical memory used to support partial sector 
  4640.       reads and writes in a FAT file system environment. They are also used to 
  4641.       cache FAT directory entries and for swap file disk I/O. Because BUFFERS 
  4642.       are used to cache FAT directory entries, this number should not be 
  4643.       reduced below 60, unless you are not using the FAT file system on your 
  4644.       disks. Reducing this number will increase the number of disk reads that 
  4645.       are done to the FAT directory entries and therefore slow down your 
  4646.       system. 
  4647.  
  4648.    5. MAXWAIT=3  This specifies the maximum amount of time that a thread will 
  4649.       be in a ready-to-run state without receiving a time slice to run in. 
  4650.       After this time expires, the thread will be given a boost in priority so 
  4651.       it gets a chance to run. Reducing this value to 2 may help in systems 
  4652.       where there are a lot of programs running, or multiple separate 
  4653.       DOS/Windows programs running. Reducing it to 1 on systems where there is 
  4654.       swap activity taking place can slow down the system. 
  4655.  
  4656.    6. DISKCACHE=D,LW,T,AC  This is used to specify the amount of physical 
  4657.       memory set aside to cache data that is being read from or written to 
  4658.       disk. D represents a dynamic disk cache value that varies in size from 
  4659.       48K to 14400K, based on the amount of physical memory you have in your 
  4660.       system. If you have more than 8 MB in your system, D will be 10% of your 
  4661.       system's physical memory. The D should be changed to the actual amount of 
  4662.       disk cache space you require. If you have a system where your programs do 
  4663.       not do much disk I/O or where your memory is being used up by your 
  4664.       applications, you may want to set this value to 128. Also, reduce this 
  4665.       value if you are using the DB/2 product or any other product that 
  4666.       provides its own disk data caching. The T parameter is not defined in the 
  4667.       default CONFIG.SYS file. It defines the  cache threshold for records that 
  4668.       go into the cache. The default value is 4. This means that any record 
  4669.       that is 4 sectors or less will go into the cache, while those greater 
  4670.       will not. If your disk cache size is 128K or larger, add this parameter 
  4671.       to the disk cache statement. If known, set this value to the largest 
  4672.       record size used. Otherwise, set the value to 32. The LW parameter 
  4673.       activates the Lazy Write or write behind feature. This allows the 
  4674.       application to get control back before the data is actually written to 
  4675.       disk. A separate thread will write the data from the cache to the disk 
  4676.       when necessary or opportune to do so. You should always use this option, 
  4677.       and code any applications to open files with cache bypass option if disk 
  4678.       data security is imperative. 
  4679.  
  4680.    7. SWAPPATH=D,R,S  SWAPPATH specifies where code and data pages are swapped 
  4681.       to on disk when more physical memory is needed than is available in your 
  4682.       system. D represents the path where your SWAPPER.DAT file is located. For 
  4683.       systems which have multiple partitions or multiple disks, this should be 
  4684.       placed on the least used  directory of the least used disk. Also, try to 
  4685.       physically locate the swap file on the disk based on its usage. If you 
  4686.       are doing a lot of swap activity, place the swap file at the start of the 
  4687.       disk. If is it rarely used, place it at the end. S is the size that the 
  4688.       swap file is initialized to when you start your Warp system. Make this 
  4689.       large enough so that it does not have to grow in size while you are 
  4690.       running your programs. You should perform your normal computer functions 
  4691.       and look at the size of the swap file when you have the most activity. 
  4692.       Then set the value of the S to this size in the CONFIG.SYS file. If you 
  4693.       are using the FAT file system, IPL your system under DOS, delete the 
  4694.       SWAPPER.DAT file, defragment the disk partition where the swap file will 
  4695.       be located, and then IPL your OS/2 system. This should keep your swap 
  4696.       file from getting fragmented. R specifies the amount of free space that 
  4697.       must be in the swap file. The default for this value is adequate and only 
  4698.       needs to be changed if you want to be warned earlier about a possible 
  4699.       out-of-memory situation. 
  4700.  
  4701.    8. THREADS=  THREADS defines how many threads the system will be able to 
  4702.       use.  One page of resident memory is need for approximately every 32 
  4703.       threads that are defined. As a minimum, you will need 80 threads to 
  4704.       support the base Warp system and 3 or 4 OS/2, DOS and or Windows 
  4705.       applications. The system will support up to 64000 threads, but typically 
  4706.       you will not have enough memory in your system to support more than 300 
  4707.       to 500 threads. 18 threads are required for LAN Server 4.0. To calculate 
  4708.       the number of threads that you will need in your system, use the formula 
  4709.       54+(2xN)+10 where N is the number of programs that you will run together. 
  4710.       If the program requires more than 2 threads, add in the additional 
  4711.       threads. 
  4712.  
  4713.  Additional CONFIG.SYS Considerations: 
  4714.  
  4715.    1. You should only install the devices drivers that your programs actually 
  4716.       need to run. 
  4717.  
  4718.    2. Do not install extra communication, printer, video or device drivers if 
  4719.       they will not be used. Below are a list of device drivers and virtual 
  4720.       device drivers that are normally found in CONFIG.SYS and that may not be 
  4721.       needed. (Virtual device drivers are used to support DOS and Windows 
  4722.       applications and usually have a V at the beginning of their name.) 
  4723.  
  4724.         a. VEMM.SYS  Used to support Expanded Memory use in DOS and Windows 
  4725.            programs. 
  4726.  
  4727.         b. VXMS.SYS  Supports Extended Memory in DOS and Windows applications. 
  4728.  
  4729.         c. VDPMI.SYS  Supports the DPMI memory access and is required to 
  4730.            support all Windows applications. 
  4731.  
  4732.         d. VW32S.SYS  Supplies support for the WIN32S Windows APIs. Not needed 
  4733.            for Windows programs that do not use WIN32S APIs. 
  4734.  
  4735.         e. IBMxFLPY.ADD  x will be either a 1 or a 2. 1 is used for family 1 
  4736.            machines and 2 is for MCA machines. You do not need both. 
  4737.  
  4738.         f. XDFLOPPY.FLT  This is required for reading diskettes which are 
  4739.            written using the XDF (Extended Disk Format) format. These are 
  4740.            usually OS/2 and PCDOS 7 installation diskettes, printer and video 
  4741.            driver diskettes. The Warp Install and Disk 1 diskettes do not use 
  4742.            the XDF format. 
  4743.  
  4744.         g. COM.SYS and VCOM.SYS are only required if you will be doing serial 
  4745.            or async  communications. 
  4746.  
  4747.  If you use the selectable CONFIG.SYS option in the Archive and Retrieve 
  4748.  feature of Warp, it is possible to create multiple CONFIG.SYS files which will 
  4749.  contain different device drivers based on your needs. For example, you could 
  4750.  create one CONFIG.SYS file that is used for maintenance and installation. This 
  4751.  one would include the XDFLOPPY.FLT and both IBMxFLPY.ADD drivers plus 
  4752.  additional threads. Another CONFIG.SYS used for normal processing could have 
  4753.  these device drivers removed and a lower number of threads. When maintenance 
  4754.  has to be applied to the system, or some additional new products installed, 
  4755.  you could IPL the machine with the Archive and Retrieval menu active and 
  4756.  select the proper CONFIG.SYS to be used. An extension of this would be to 
  4757.  archive the CONFIG.SYS and the OS/2 INI files and select those to apply 
  4758.  maintenance. 
  4759.  
  4760.  Note:  DO NOT assume that the Archive and Retrieve feature of Warp acts as a 
  4761.  means to backup the desktop. In the event of a complete disk failure, only 
  4762.  backup images stored off line can be depended upon. 
  4763.  
  4764.  
  4765. ΓòÉΓòÉΓòÉ 14.3.2. Desktop Settings ΓòÉΓòÉΓòÉ
  4766.  
  4767. Let's look at some of the System Settings and Desktop settings that can be 
  4768. tuned to improve a system's performance. In the System Setup Folder there are 
  4769. many utilities that are available. 
  4770.  
  4771. Add "SET RESTARTOBJECTS=STARTUPFOLDERSONLY" in your CONFIG.SYS to keep OS/2 
  4772. from restarting at bootup all previous open application. 
  4773.  
  4774. Spooler:  The drop-down menu provides an option to disable the spooler. This 
  4775. can be done without problems when only one job will be active on your printer 
  4776. at a time. This will save a little bit of memory and one process and thread in 
  4777. your system. If you have a dedicated print spool machine, then you should raise 
  4778. the priority of the spooler to it's highest point. For non-dedicated print 
  4779. spool systems, the priority should remain at the default. You would only 
  4780. increase this if (for example) you raised the subpriority of a DOS session and 
  4781. wanted to print documents while running the DOS session. In this case, you 
  4782. would want to make the priority of the print spooler the same as the DOS 
  4783. session. 
  4784.  
  4785. Schemes and Color Pallet:  You should use solid colors and avoid the use of 
  4786. bitmaps for desktop and folder backgrounds when conversing memory. These 
  4787. particular options use more memory and require more processing time to display 
  4788. them. 
  4789.  
  4790. Sounds:  Deselect the System Sounds options, unless you like the noises when 
  4791. opening and closing your folders. It costs between 250 and 300K in working set 
  4792. just to hear the noise. An additional 40K or so of working set can be saved by 
  4793. executing DINSTSND.CMD in an OS/2 command session. This will unhook the system 
  4794. sounds from the OS/2 desktop. To get them back, you would execute INSTSND.CMD. 
  4795.  
  4796. Font Palette:  Only install the fonts that you will actually use in your 
  4797. system. Also, try not to mix fonts in folders or on the OS/2 Desktop. If you 
  4798. do, you will be using extra memory. Outline fonts tend to be a little smaller 
  4799. in terms of memory than bitmap fonts and once they are in the cache, they 
  4800. perform just as fast. 
  4801.  
  4802. WIN-OS/2:  When defining a Windows program, select common sessions and make DDE 
  4803. and Clipboard support both private. If floating-point is used in your Windows 
  4804. applications, use the enhanced run mode for Windows. Also, if you have a 
  4805. Windows application that you always run, it is better to start it via the 
  4806. Startup Folder than to use the Fast Load option and start it from the Desktop. 
  4807. Finally, ensure that when you migrate, install or add Windows programs to you 
  4808. system, that the run mode for these is the same as the common session run mode. 
  4809. If run modes are different, then you will have two separate Windows sessions 
  4810. running even though you stated that a common session is to be used. 
  4811.  
  4812. System Setup:  Disabling the Animation and Print Screen option can save a 
  4813. little in code path and memory. Setting the System Logo option to none can save 
  4814. some time when loading applications that check this parameter to see how long 
  4815. to display their applications logo. The type-ahead option will use a little 
  4816. more memory. When selecting screen resolutions, remember that the higher the 
  4817. resolution, the more memory that is used.  Very high resolution and color 
  4818. support can require 100 to 200K of physical memory. 
  4819.  
  4820. Mouse:  Mouse pointers are basically bitmaps. The amount of memory used will be 
  4821. affected by which mouse pointer style you choose. If you activate the comet 
  4822. cursor, this will cost additional memory and processing time whenever the mouse 
  4823. is being used. 
  4824.  
  4825. Desktop Settings:  Desktop settings are selected by choosing the Settings 
  4826. option on the Desktop menu. Choosing Automatic Lockup will cause extra code 
  4827. path and processing time to occur. Normally this is very minimal, until the 
  4828. time-out value expires. Then you are looking at about 40 to 50K of working set. 
  4829. If you select Create Archive on system restarts, this will slow down your 
  4830. systems IPL time. You want to set this option only when you have changed your 
  4831. desktop and/or configuration and want to save it. Once it has been saved, turn 
  4832. this option off. You can get to the Archive Retrieve menu screen when you IPL 
  4833. your machine by using the ALT+F1 key sequence. 
  4834.  
  4835. Conclusion: 
  4836.  
  4837.    1. All the bells and whistles, neat features, applications and devices come 
  4838.       at a cost. They all cost disk space, they all use memory, and they all 
  4839.       have the potential for slowing your system down. 
  4840.  
  4841.    2. To minimize this, plan ahead. Decide what the system will be used for and 
  4842.       what your future uses will be. Then, set up the system accordingly. 
  4843.  
  4844.    3. Install only the things that you are actually going to use and need. 
  4845.       Ensure that there is a match between the software you install and the 
  4846.       hardware you install it on. 
  4847.  
  4848.    4. If an application or feature cost more memory than you have, either don't 
  4849.       install the feature, or get more memory for your system. 
  4850.  
  4851.    5. Be creative and logical. You can set the system up with different 
  4852.       configurations and different support, defined to optimize performance 
  4853.       based on the particular functions you perform and applications you use. 
  4854.  
  4855.    6. Finally, become aware of what Warp has to offer and use it to your 
  4856.       advantage. 
  4857.  
  4858.  
  4859. ΓòÉΓòÉΓòÉ 15. Glossary ΓòÉΓòÉΓòÉ
  4860.  
  4861.    1. Virtual Memory refers to the concept that available disk space is used to 
  4862.       hold inactive memory while demanding active memory can be serviced. This 
  4863.       is managed in cooperation by both the operating system (OS/2) and the 
  4864.       CPU. OS/2 deploys and takes advantage of a true Virtual Memory model by 
  4865.       using the OS/2 Swap file for temporarily holding over-committed and 
  4866.       inactive memory. 
  4867.  
  4868.    2. Swapping is a normal activity for any computer. A machine with little 
  4869.       memory (ie. 8 MB) may experience heavy "swapping". This occurs when the 
  4870.       operating system spends (more) time swapping than allowing actual work to 
  4871.       be done by the user. Install more memory. Following the Least Recently 
  4872.       Used (LRU) algorithm, OS/2 memory management will identify individual 4 
  4873.       KB memory pages as being "swappable". When not enough REAL memory is 
  4874.       present for more demanding memory pages, OS/2 swaps-out the least used. 
  4875.  
  4876.    3. Real Memory refers to the amount of physical memory installed in the 
  4877.       computer and is used in comparison to Virtual Memory. 
  4878.  
  4879.    4. Free Memory refers to the amount of actual free REAL memory available to 
  4880.       OS/2 and OS/2 programs. This will never be shown as a number higher than 
  4881.       the amount of physical memory installed in the computer. 
  4882.  
  4883.    5. Resident Memory refers to the amount of REAL memory which is not 
  4884.       swappable nor discardable usually belonging to the operating system 
  4885.       (OS/2) or applications which created the memory as non-swappable. For 
  4886.       performance reasons, the operating system will maintain critical and 
  4887.       highly active memory as Resident memory. 
  4888.  
  4889.    6. Swappable Memory refers to the amount of REAL memory which is identified 
  4890.       as noncritical or Least Recently Used (LRU algorithm) memory pages 
  4891.       capable of being swapped-out to the OS/2 swapper file until the memory is 
  4892.       in demand. The term is synonymous with "discardable" memory. 
  4893.  
  4894.    7. Print Spooler is a facility which facilitates directing print output to a 
  4895.       particular print queue without having to wait for the printer to receive 
  4896.       and print the output. 
  4897.  
  4898.    8. Print Queues are an intermediate holding place for print jobs. Related to 
  4899.       the Print Spooler, there is a 1-to-1 relationship between a Print Queue 
  4900.       and a physical printer. When a print job gets spooled into a particular 
  4901.       print queue, the print job can be automatically printed, place on hold, 
  4902.       or subsequently released for printing. 
  4903.  
  4904.    9. Process refers to 1 instance of an executing program. Every Process is 
  4905.       assigned a unique ID (hence Process ID or PID) by the operating system 
  4906.       (OS/2). Every Process ID has at least 1 Thread. A process can launch 
  4907.       another process. This makes the launching process the parent and the 
  4908.       launched process the child. Hence Parent Process ID or PPID. 
  4909.  
  4910.   10. Threads are functions created by a Process and execute asynchronous to 
  4911.       the Process.  A Process has by default 1 thread, but can create many. 
  4912.       Threads of a process have a finite life and terminate when the main 
  4913.       process ends. Every Thread is assigned a unique ID (hence Thread ID or 
  4914.       TID) by the operating system (OS/2). Each thread will have a "state" 
  4915.       which identifies whether the thread is active or waiting for a time slice 
  4916.       to be granted by OS/2. 
  4917.  
  4918.   11. Sessions are unique instances of a process which have a "screen group". A 
  4919.       Process with a Screen Group has a virtual keyboard, screen, and mouse. 
  4920.       Unlike "Detached" (Daemon) processes which execute completely in the 
  4921.       background, have no form of user input or output and are not always 
  4922.       visible to the user. When a process within a Session launches another 
  4923.       process asynchronously, the child process is assigned a unique Session ID 
  4924.       or SID. Launched synchronously, the child process inherits the same 
  4925.       Session ID as the parent. 
  4926.  
  4927.   12. Process Monitor allows the user to view the many attributes associated 
  4928.       with 1 or more Processes and their respective Threads. OS/2 maintains a 
  4929.       "Process Table" to keep track of all the processes and threads executing. 
  4930.       PM Patrol provides a very robust Process Monitor facility. Every possible 
  4931.       process and thread attribute can be monitored. 
  4932.  
  4933.   13. Time Slice refers to the operating system (OS/2) granting a process 
  4934.       thread a certain amount of CPU execution time in a multitasking 
  4935.       environment. This capability allows the user to work simultaneously on 
  4936.       many tasks. A Process can set his priority level so that OS/2 will grant 
  4937.       more time, more often. This granting of time slices is known as the 
  4938.       "Scheduler" in an operating system. 
  4939.  
  4940.   14. The OS/2 Scheduler is a very robust algorithm and integral operating 
  4941.       system component capable of servicing time critical applications in the 
  4942.       most demanding real-time environments. This, combined with stability, 
  4943.       connectivity, and maturity is why OS/2 is useful for mission critical 
  4944.       systems. 
  4945.  
  4946.   15. Preemptive Multitasking in OS/2 provides the ability to "preemptively" 
  4947.       interrupt one process without it's knowledge or control to allow another 
  4948.       process a time slice. DOS+Windows and Windows-95 attempt to preemptively 
  4949.       multitask, but suffer from architectural flaws which render them more 
  4950.       "cooperative" multitasking operating systems. True preemptive 
  4951.       multitasking operating systems such as OS/2, Windows NT, and UNIX, lend 
  4952.       themselves to mission critical and time sensitive applications. 
  4953.       Multimedia is a good example of a time sensitive application. 
  4954.  
  4955.  
  4956. ΓòÉΓòÉΓòÉ 16. Trouble Shooting ΓòÉΓòÉΓòÉ
  4957.  
  4958. This section discusses topics of potential difficulty, compatibility, and 
  4959. idiosyncrasies of PM Patrol features. Everyone should read this section. 
  4960.  
  4961. The Float to Top option does not work when the E.EXE editor is active or causes 
  4962. a 3175 error. Due to a bug in the E.EXE editor under OS/2 version 2.1 and 2.11, 
  4963. PM Patrol temporarily disables the "Float to Top" option while E.EXE is the 
  4964. active window. This bug in E.EXE is fixed in OS/2 Warp 3.0.  If this problem 
  4965. surfaces: 
  4966.  
  4967.    1. Change the "Process Monitors" in PM Patrol's "Refresh Settings" to a 
  4968.       lower value such as 3 or 4 seconds. 
  4969.  
  4970.    2. Or, turn off the "Float to Top" in the PM Patrol "Options" dialog. 
  4971.  
  4972.  A running program's priority is different than that specified in the Program 
  4973.  Launcher or Scheduler. 
  4974.  
  4975.  Note:  Once launched, a program can change it's own priority Class and Range 
  4976.  settings. This means that PM Patrol sets the program's "default" priorities 
  4977.  with those that you select, but does not control it after the program has been 
  4978.  launched. A good example of this is running Windows programs. The Win-OS/2 
  4979.  environment will typically change the priority to "Regular" for both Class and 
  4980.  Range. Therefore, Windows programs can NOT be controlled by PM Patrol for 
  4981.  priority control. 
  4982.  
  4983.  Free Memory ALWAYS reports 0 KB or maximum KB available: 
  4984.  
  4985.    1. OS/2 views memory as a flat linear address space and deploys a true 
  4986.       Virtual Memory Model. Because of this, calculation of Free Memory is 
  4987.       subject to the following constraint. 
  4988.  
  4989.       Note:  If your system hardware consists of MORE than 16 MB of memory and 
  4990.       the hard disk controller is a 16-bit adapter, Free Memory calculation may 
  4991.       not be accurately reported. Use a 32-bit disk controller when more than 
  4992.       16 MB RAM is installed. 
  4993.  
  4994.  Using another CPU monitor program causes questionable CPU results to be 
  4995.  reported by PM Patrol: The PM Patrol CPU monitor does not co-exist well when 
  4996.  other CPU monitors are used. This is nothing against PM Patrol or other CPU 
  4997.  monitors, it's just the nature of the monitor and how a CPU monitor works. 
  4998.  They are not designed to "compete" with each other. PM Patrol is "aware" of 
  4999.  other CPU monitors when they are active such as (Pulse, SPM/2, and several 
  5000.  others). When PM Patrol recognizes that another CPU monitor is active, PM 
  5001.  Patrol relinquishes CPU monitoring to this alternative monitor while it is 
  5002.  active. After which, PM Patrol will automatically restart it's CPU monitor. 
  5003.  
  5004.  Not all Monitor display items can fit on the PM Patrol Status Line: 
  5005.  
  5006.    1. PM Patrol does not expect anyone user to desire ALL PM Patrol monitors on 
  5007.       the Status Line at once and therefore does not attempt to claim they all 
  5008.       fit. However, there are a number of things that can help. 
  5009.  
  5010.    2. Enable the "Display Compact" option under "Status Line Options" of PM 
  5011.       Patrol. When enabled, all Status Line abbreviations such as "Ram", "Swp", 
  5012.       "Net", and others are removed. This option was specifically designed to 
  5013.       address this issue. 
  5014.  
  5015.    3. Depending on the font you have selected, this may be true. Try using a 
  5016.       smaller font - perhaps a VIO style font. The 2.VIO font is the smallest 
  5017.       font for a VGA system. 
  5018.  
  5019.    4. Using the "Show Decimal" option for Status Line monitors, turn this 
  5020.       option off allowing PM Patrol to round values and will free-up some 
  5021.       Status Line space. 
  5022.  
  5023.    5. Another option is to turn off the "Graphical" display of free memory or 
  5024.       CPU usage. This will then display the numeric values only. 
  5025.  
  5026.    6. If there are a lot of drives on-line, turn off the "Drives On-line" 
  5027.       monitor of PM Patrol. 
  5028.  
  5029.  PM Patrol displays Drive B when no physical Drive B exists: OS/2 supports two 
  5030.  "logical" floppy drives. A and B, even if drive B is nonexistent. In fact, if 
  5031.  you were to type "Dir B", OS/2 will prompt you to insert a diskette into drive 
  5032.  B. This demonstrates 1 physical but 2 logical drives. 
  5033.  
  5034.  Your system seems to constantly show excess CPU usage via the PM Patrol CPU 
  5035.  monitor: 
  5036.  
  5037.    1. It's not unusual with today's diverse software, multimedia, and the 
  5038.       ability to run DOS/Windows under OS/2, to see constant CPU usage. Use the 
  5039.       PM Patrol Process Monitor window to identify culprits of CPU activity. 
  5040.  
  5041.    2. Check to make sure the PM Patrol refresh rates found in "Refresh 
  5042.       Settings" are not set at their absolute most minimum values. These 
  5043.       minimum values can be too aggressive on 386-33 MHz systems (or less). 
  5044.  
  5045.    3. Make sure your not running another CPU monitor in addition to PM Patrol. 
  5046.       If you must, turn off the "CPU Monitor" in the PM Patrol "Options" 
  5047.       dialog. 
  5048.  
  5049.  With all PM Patrol Monitor windows (Process Monitor, Memory Monitor, and 
  5050.  Network Monitor) active and automatically refreshing, may be too much overhead 
  5051.  for some slower 386 class computers. Therefore, you may need to use these 
  5052.  windows selectively and not continuously. 
  5053.  
  5054.  Due to the nature and dynamics of OS/2's method of virtual memory swapping, PM 
  5055.  Patrol's calculation of free swap space is an approximation and may not result 
  5056.  in an exact calculation all the time. As compared to all PM Patrol's resource 
  5057.  monitors, swap utilization is the only one that may yield approximation. For 
  5058.  systems that are memory rich and therefore swap little, monitoring swap 
  5059.  utilization may not be necessary. 
  5060.  
  5061.  
  5062. ΓòÉΓòÉΓòÉ 17. Caveats ΓòÉΓòÉΓòÉ
  5063.  
  5064. PM Patrol is designed with special attention to performance and causes no 
  5065. system degradations when properly used. 
  5066.  
  5067. The PM Patrol defaults and minimum allowable settings for "Refresh Settings" 
  5068. protects you from system-wide degradation. However, setting the refresh rates 
  5069. at their minimum values may be too aggressive for some low-end computers. The 
  5070. overhead for PM Patrol is no more than 1-2 percent CPU load (average over 1 
  5071. minute) and only during resource sampling. 
  5072.  
  5073. Note:  The CPU effort to collect Process Meter data, although minimal when 
  5074. active, can be negatively influenced by adjusting the "Process Monitors" 
  5075. frequency in PM Patrol's "Refresh Settings" dialog too low - depending on the 
  5076. computer. As a rule of thumb, set the "Process Monitors" frequency to the 
  5077. following, but never lower: 
  5078.  
  5079.    1. 5 seconds for i386 class computers 
  5080.  
  5081.    2. 4 seconds for i486 class computers 
  5082.  
  5083.    3. 3 seconds for Pentium class computers 
  5084.  
  5085.  The Process Monitor, Memory Monitor, and Network Monitor windows create minor 
  5086.  delays in the form of brief CPU spikes. These spikes are normal and can be 
  5087.  further controlled in the PM Patrol "Refresh Settings". 
  5088.  
  5089.  Note:  With all PM Patrol Monitor windows (Process Monitor, Memory Monitor, 
  5090.  and Network Monitor) active and automatically refreshing, may be too much 
  5091.  overhead for some slower 386 class computers. Therefore, you may need to use 
  5092.  these windows selectively and not continuously. 
  5093.  
  5094.  As with all our products, we are committed to supporting and enhancing PM 
  5095.  Patrol. Due to the nature of some of the PM Patrol features (i.e. Process 
  5096.  Monitor and Process Meter) and it's unique application, compatibility with 
  5097.  future versions of OS/2 can not be 100% guaranteed. 
  5098.  
  5099.  
  5100. ΓòÉΓòÉΓòÉ 18. What's New and Version History ΓòÉΓòÉΓòÉ
  5101.  
  5102. This section outlines a historical record of new features and enhancements 
  5103. applied to the PM Patrol product. 
  5104.  
  5105. We're on the Web. You can ALWAYS get the latest version of PM Patrol from our 
  5106. WallyWare Internet Web site at http://homepage.interaccess.com/~wally and send 
  5107. Internet EMail to wally@interaccess.com. 
  5108.  
  5109. These items are new in PM Patrol version 4.1c: 
  5110.  
  5111.    1. Emergency fix. The Auto-Save Profile option introduced in version 4.1 
  5112.       also introduced a problem where this option would remain enabled - 
  5113.       regardless of the user's selection. The ramification effects 
  5114.       power-managed computers so that disk drives never power-down 
  5115.       automatically. 
  5116.  
  5117.    2. Added the ability to specify the number of minutes before an Auto-Save 
  5118.       Profile is performed. The default is 15 minutes, but can range from 1 
  5119.       minute to 8 hours. This option is located in the General Settings window. 
  5120.  
  5121.    3. The Show Inverted option introduced in 4.1b has been enhanced to include 
  5122.       Virtual Memory as well. This option allows you to "invert" or reverse how 
  5123.       the Virtual Memory and graph is shown on the Status Line to reflect 
  5124.       resource taxation similar to PM Patrol's CPU monitor. 
  5125.  
  5126.    4. Added Show Open Files option for the Process Summary monitor on the PM 
  5127.       Patrol Status Line. Some like to see it, and some don't. So, here's the 
  5128.       option. 
  5129.  
  5130.    5. The Show Percent option on PM Patrol's Status Line has been removed and 
  5131.       replaced with individual "Percent" options for each of the monitor items 
  5132.       including Swap, Resident RAM, Real RAM, and Virtual RAM. These individual 
  5133.       "Percent" options are located on PM Patrol's Options window and now 
  5134.       provides more flexability in customizing display options. 
  5135.  
  5136.  These items are new in PM Patrol version 4.1b: 
  5137.  
  5138.    1. The Internet Connect-Time is now refered to as INet Connect-Time. Prior 
  5139.       to 4.1b, the "Accumulative Internet" option was accessed via the General 
  5140.       Settings window. It has been relocated to PM Patrol's Options window and 
  5141.       is called Show Total INet which will show total Internet Connect-Time in 
  5142.       addition to the per instance connect-time. With this option, you can now 
  5143.       see total Internet Connect-Time at the same time as the per-instance 
  5144.       connect-time. 
  5145.  
  5146.    2. The INet Connect-Time bug fixed in version 4.0 was resetting to zero for 
  5147.       per-instance connections prematurely while not allowing the user to see 
  5148.       the total time after disconnection. This has been fixed. This 
  5149.       connect-time is now reset to zero when a new connection is established. 
  5150.       Thus, allowing the user to see what the last Internet Connect-Time was 
  5151.       before re-connection. 
  5152.  
  5153.    3. Added Show Inverted option. By default, PM Patrol shows Swap and Real RAM 
  5154.       in terms of "Free" or available resource on the Status Line. This option 
  5155.       allows you to "invert" or reverse how these monitors and graphs are shown 
  5156.       on the Status Line to reflect resource taxation similar to PM Patrol's 
  5157.       CPU monitor. 
  5158.  
  5159.    4. The Show Percent option now effects both Swap and Real RAM monitors on 
  5160.       the Status Line. When selected, both Swap and Real RAM will show the 
  5161.       percentages. Prior to 4.1b, only Swap was effected. 
  5162.  
  5163.  These items are new in PM Patrol version 4.1a: 
  5164.  
  5165.    1. Bug fix in Virtual Memory calculation. 
  5166.  
  5167.    2. Added Reflect Free Swap in VRam. This option provides the ability to have 
  5168.       the Free Virtual Memory calculation reflect (or not reflect) free OS/2 
  5169.       swap space from the swap file (swapper.dat). When enabled, the Free 
  5170.       Virtual RAM (VRam) calculation will reflect a more accurate and actual 
  5171.       reading. This new option is located in PM Patrol's General Settings 
  5172.       dialog. 
  5173.  
  5174.  These items are new in PM Patrol version 4.1: 
  5175.  
  5176.    1. New PM Patrol ShutDown command-line utility (PMPSDOWN.EXE) which provides 
  5177.       a mechanism to shutdown PM Patrol after a specified amount of time 
  5178.       (seconds). 
  5179.  
  5180.    2. New Message Box Popup command-line utility (MSGBOX.EXE) which can be 
  5181.       invoked from the Scheduler to popup a message at a specific time. Lots of 
  5182.       options for this. Refer to the "Command Line Utilities" help section for 
  5183.       details. 
  5184.  
  5185.    3. PM Patrol can now be accessed without the use of a mouse. Using Ctrl-Esc 
  5186.       to get the OS/2 Window List, then selecting the "PM Patrol Status Line". 
  5187.       At this point, pressing F12 will get you to the PM Patrol Options window. 
  5188.       F11 will invoke PM Patrol's Utility Popup. 
  5189.  
  5190.    4. PM Patrol now looks for the COMSPEC environment variable to identify the 
  5191.       correct OS/2 Command Shell Interpreter. Typically this will point to 
  5192.       CMD.EXE. But for those 4OS2 and MKS Toolkit Korn Shell users, this has 
  5193.       been fixed. 
  5194.  
  5195.    5. New Auto-Save Profile option will automatically save the PM Patrol 
  5196.       profile and statistics every 15 minutes. This facilitates integrity for 
  5197.       PM Patrol's statistics in the event of a system hang or crash. With this 
  5198.       option turned on, power-managed computers will not automatically power 
  5199.       down the disk drive because of the consistent 15 minute disk writes. 
  5200.       These disk writes are not buffered and therefore commit to disk 
  5201.       immediately. 
  5202.  
  5203.    6. New Lock Status Line Position option locks-in the PM Patrol Status Line 
  5204.       position from accidently dragging and moving. 
  5205.  
  5206.    7. New Allow Alternative CPU Monitors option instructs PM Patrol to keep PM 
  5207.       Patrol's CPU active even when alternative CPU monitors are detected. 
  5208.  
  5209.    8. New Message Popup Seconds option allows you to define how long (seconds) 
  5210.       PM Patrol should display popup messages. The default is 4 seconds. 
  5211.  
  5212.    9. Fixed bug in Program Scheduler and Launcher when using the keyboard would 
  5213.       automatically launch the first entry in the Program or Scheduler list. 
  5214.  
  5215.   10. Fixed bug in calculation of available virtual memory. 
  5216.  
  5217.   11. Fixed bug in Accumulative Internet Connection Time. When Accumulative is 
  5218.       disabled, the Connect Time will now reset to 0 after disconnecting from 
  5219.       the Internet, each time PM Patrol is started, or when you manually reset 
  5220.       it in PM Patrol. 
  5221.  
  5222.   12. The Process Summary now displays the total active/open number of files on 
  5223.       the system. This is in addition to the number of total processes and 
  5224.       total threads. 
  5225.  
  5226.  These items are new in PM Patrol version 4.0c: 
  5227.  
  5228.    1. This fix release will cause your PM Patrol profile settings to be 
  5229.       re-initalized, but will not effect the PM Patrol Program settings nor 
  5230.       Scheduler settings. Sorry for any inconvenience. 
  5231.  
  5232.    2. Fixed bugs in DCFUserDefined API and Refresh Settings for User Defined 
  5233.       frequency. 
  5234.  
  5235.    3. Fixed bug in Process Meter where the Run-Time Duration day was not being 
  5236.       incremented. 
  5237.  
  5238.    4. Added ability to turn off Event Renotification by specifying zero 
  5239.       seconds. 
  5240.  
  5241.  These items are new in PM Patrol version 4.0b: 
  5242.  
  5243.    1. Bug fix for situations where the month of January was being abbreviated 
  5244.       as "an" instead of "Jan". 
  5245.  
  5246.  These items are new in PM Patrol version 4.0a: 
  5247.  
  5248.    1. No functional changes were applied over version 4.0. This minor release 
  5249.       is optional for current 4.0 users. 
  5250.  
  5251.    2. Revised the online help section "Order and Pricing" and the text-based 
  5252.       file ORDER.FRM to reflect new methods of ordering PM Patrol. These 
  5253.       methods include Credit Card, Compuserve SWREG, personal check, and money 
  5254.       orders. 
  5255.  
  5256.    3. Revised online help to reflect improved PM Patrol support and obtaining 
  5257.       updates by itemizing FTP and other download sites posted to directly by 
  5258.       WallyWare. Refer to online help section "Support" for details. 
  5259.  
  5260.  These items are new in PM Patrol version 4.0: 
  5261.  
  5262.    1. Due to changes in PM Patrol's profile data (PMPATROL.INI) to accommodate 
  5263.       the new release, this profile data may be re-initialized to standard 
  5264.       defaults when the new release is first invoked. 
  5265.  
  5266.    2. Significant improvement in overall visuals and interpretation of system 
  5267.       resources. This includes emphasis on new graphing functions within the PM 
  5268.       Patrol Status Line and across several new PM Patrol windows. 
  5269.  
  5270.    3. Distinctly different monitor windows which focus on categories of 
  5271.       resources. These include: 
  5272.  
  5273.         a. Network Monitor window. Provides concentration for LAN Server/Client 
  5274.            I/O traffic workstation specifics. 
  5275.  
  5276.         b. Process Monitor window. Provides concentration for OS/2 active 
  5277.            processes, threads, CPU per process, DLLs loaded, and much more. 
  5278.  
  5279.         c. Memory Monitor window. Provides concentration for OS/2 memory 
  5280.            utilization for free/used real memory, swappable, free swap, 
  5281.            resident, and other memory related items. 
  5282.  
  5283.         d. Drives Monitor window. Provides concentration for disk drives 
  5284.            on-line, utilization per drive, location/file systems, summary per 
  5285.            drive, and drive maps. 
  5286.  
  5287.         e. Port Monitor window. Provides concentration for I/O traffic and 
  5288.            performance of LPT ports with the ability to monitor 1 or more ports 
  5289.            at the packet level. Using the new Debug facility, individual 
  5290.            packets can be monitored providing "data scope" capability. When 
  5291.            DBugging is enabled for a selected LPT port, an artificial delay (1 
  5292.            second) is inserted between each packet sent to the port. 
  5293.  
  5294.    4. New Process Meter features provides unattended operation and automatic 
  5295.       collection of process statistics for determining total and average 
  5296.       run-time, CPU consumption, and run-count instance over a user controlled 
  5297.       range of time. 
  5298.  
  5299.    5. New Activity Monitor graphs highly visible/critical OS/2 resources. This 
  5300.       facility provides a "bird's eye view" of overall system utilization. Drag 
  5301.       and drop the window for precise window positioning. 
  5302.  
  5303.    6. New CPU Magnification feature enables CPU monitoring at a selectable 
  5304.       granule level. Zoom into CPU effort for fast CPUs such as highend i486 
  5305.       and Pentium systems. Up to 50 times (50x) magnification. 
  5306.  
  5307.    7. Improved Fast Find facility allows execution of programs, viewing of INF 
  5308.       files, double click selection, and more. 
  5309.  
  5310.    8. New Fast Help facility which provides very fast access to a list of 
  5311.       available on-line help for OS/2 and Windows help files. Coupled with 
  5312.       search capability, this feature enables you quick access to highly 
  5313.       accessed help books. 
  5314.  
  5315.    9. New Status Line monitor items include: 
  5316.  
  5317.         a. OS/2 free Swap Utilization 
  5318.  
  5319.         b. HPFS386 Cache read and write statistics 
  5320.  
  5321.         c. Internet Connect Time when using a modem and the PPP or SLIP 
  5322.            protocols of the IBM Internet Access Kit. Provides the ability to 
  5323.            monitor and manually reset connect-time and accumulative monitoring. 
  5324.  
  5325.   10. New Debug Facility. The high-performance real-time debugging facility 
  5326.       that goes where the interactive debugger can not. PM Patrol's new Port 
  5327.       Monitor takes advantage of this facility allowing you "data scope" 
  5328.       capabilities on a per packet basis. 
  5329.  
  5330.   11. Improved on-line help including in-depth discussion of performance tuning 
  5331.       specifics for the OS/2 environment. 
  5332.  
  5333.   12. PM Patrol's Data Collection Facility (DCF) APIs have been enhanced to 
  5334.       reflect all new monitor items introduced with this release. Due to 
  5335.       changes in the DCF data structures (since version 3.0), previously 
  5336.       written programs which use PM Patrol's C/C++ APIs will require recompile 
  5337.       to reflect the new data structures. 
  5338.  
  5339.   13. New Event Monitor notifies you when critical system activities occur or 
  5340.       thresholds are exceeded. These include CPU, Swap growth, batter low, 
  5341.       virtual memory, low disk space, and more. 
  5342.  
  5343.   14. Miscellaneous new features provide: 
  5344.  
  5345.         a. Restart Desktop allows the ability to restart the OS/2 desktop and 
  5346.            optionally select different OS/2 INI locations. 
  5347.  
  5348.         b. Idle System CPU monitoring within PM Patrol's Process Monitor 
  5349.            window. When applications consume CPU, "Idle System" will decrease. 
  5350.            When your system sits idle, "Idle System" increases. 
  5351.  
  5352.         c. Sound Bites For MMPM/2 enabled systems, PM Patrol is multimedia 
  5353.            enabled providing notifications of events, window selections, and 
  5354.            more. 
  5355.  
  5356.         d. Filter-out Background processes in the Process Monitor window to 
  5357.            allow you to focus only on "Foreground" programs active on your 
  5358.            system. 
  5359.  
  5360.         e. New Auto-Popup Menu option for quick access to the PM Patrol Utility 
  5361.            popup menu on the Status Line. 
  5362.  
  5363.         f. New Confirmations option to suppress PM Patrol from prompting you 
  5364.            before taking selected actions. 
  5365.  
  5366.         g. WorkPlace Classes option provides the ability to browse through 
  5367.            registered WorkPlace Shell classes with the capability of 
  5368.            registering new classes or deregistering classes no longer needed. 
  5369.  
  5370.         h. Close All Folders option quickly closes all open OS/2 WorkPlace 
  5371.            Shell folders. This is similar to PM Patrol's ability to also 
  5372.            quickly Minimize or Maximize all open desktop windows. 
  5373.  
  5374.            Show Decimals option enables or disables PM Patrol displaying the 
  5375.            decimal position for several of the Status Line monitors. When 
  5376.            disabled, PM Patrol will apply standard rounding across effected 
  5377.            values. 
  5378.  
  5379.         i. Forced OS/2 Shutdown for safe and dependable system shutdown when 
  5380.            the normal OS/2 shutdown services are unresponsive. 
  5381.  
  5382.         j. Windows 3.1 Enhanced-execution support for both the Scheduler and 
  5383.            Program Launcher. 
  5384.  
  5385.         k. Recalibrate PM Patrol's CPU monitors when switching between 
  5386.            Turbo/Slow mode for certain systems. 
  5387.  
  5388.         l. Quick open/close of all PM Patrol monitor windows. 
  5389.  
  5390.         m. Self-awareness of other CPU monitors making PM Patrol even more 
  5391.            stable and it's ability to coexist in diverse environments. 
  5392.  
  5393.         n. Re-organization of menus and overall consistency making PM Patrol 
  5394.            easier to use and access to its features. 
  5395.  
  5396.         o. New command line utility called FDUMP which provides the ability to 
  5397.            dump the contents of any file and display the contents in both ASCII 
  5398.            and hex representation. This utility also understands fixed record 
  5399.            lengths. 
  5400.  
  5401.         p. Total customization of colors and fonts on a per window basis across 
  5402.            the PM Patrol product. 
  5403.  
  5404.         q. Run-Time of programs in the "Process Monitor" allows viewing the 
  5405.            duration for which processes have been actively running. 
  5406.  
  5407.         r. Improved Logging services with a new Log viewer able to view log 
  5408.            data while logging is active and view very large log files 
  5409.            efficiently and ability to log process level detail and CPU per 
  5410.            active process. 
  5411.  
  5412.         s. User Defined Monitor allows you to format your own monitor to have 
  5413.            it displayed on PM patrol's main Status Line and allow it to be 
  5414.            logged. 
  5415.  
  5416.         t. Better integration to OS/2 Warp WorkPlace Shell and access to 
  5417.            frequently used objects. 
  5418.  
  5419.  These items are new in PM Patrol version 3.0: 
  5420.  
  5421.    1. Fast Find w/out limits across multiple drives. 
  5422.  
  5423.    2. Improved Process Monitor window with graphical view of CPU utilization 
  5424.       per process and thread, and priority classification. 
  5425.  
  5426.    3. Drive map with graphical view of directories and their sizes 
  5427.  
  5428.    4. New Virtual memory and Resident memory monitors 
  5429.  
  5430.    5. IBM LAN Server support includes Network I/O monitor rates for 
  5431.       workstation, Network monitor current logged-on user, and Network monitor 
  5432.       current logged-on domain. 
  5433.  
  5434.    6. Improved Print Spooler functions with remote LAN capabilities. 
  5435.  
  5436.    7. Vastly improved logging capabilities and Free Memory calculation. 
  5437.  
  5438.    8. Monitor up to six (6) logical drives. 
  5439.  
  5440.    9. Robust Program Scheduler with program priority control. 
  5441.  
  5442.   10. Security features to keep unwanted changes being made to PM Patrol 
  5443.       settings. 
  5444.  
  5445.   11. Windows 3.1 support for both the Scheduler and Program Launcher. 
  5446.  
  5447.   12. Data Collection Facility with APIs for real-time access to ALL PM Patrol 
  5448.       monitors and statistics. 
  5449.  
  5450.   13. New startup parameters offer background execution for DCF-only needs and 
  5451.       real-time responsiveness. 
  5452.  
  5453.   14. Complete printing support for local or LAN printers 
  5454.  
  5455.   15. New and improved PM Patrol Installation facility 
  5456.  
  5457.  Note:  The on-line help contains a section called "Trouble Shooting". It 
  5458.  discusses topics of potential difficulty, compatibility, and idiosyncrasies of 
  5459.  PM Patrol features. Everyone should read this section. 
  5460.  
  5461.  
  5462. ΓòÉΓòÉΓòÉ 19. Acknowledgments ΓòÉΓòÉΓòÉ
  5463.  
  5464. (c)SPM/2 and MMPM/2 for OS/2 are offered by IBM Corporation. 
  5465.  
  5466. (c)IBM LAN Server and (c)IBM LAN Requester are OS/2 network components offered 
  5467. by IBM Corporation. 
  5468.  
  5469. Windows (tm), Windows-95 (tm), and Windows NT (tm) are offered by Microsoft 
  5470. Corporation. 
  5471.  
  5472.  
  5473. ΓòÉΓòÉΓòÉ 20. Special Thanks ΓòÉΓòÉΓòÉ
  5474.  
  5475. We would like to express our sincere appreciation to everyone who assisted in 
  5476. the production of this release. Particularly, a special thanks to: 
  5477.  
  5478. Mike Coane, Aron Eisenpress, Jeff McCauley, Mark Saliture, Larry Wright, Jen 
  5479. and Kyle.